You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
2.0 KiB

package com.demo.doc;
/**
* @author YenHex
* @since 2023/5/16
*/
public class PrintDemo {
public static void main(String[] args) {
String sql = "SELECT " +
" 'tableName' = d.name, " +
" 'columnName' = A.name, " +
" 'comment' = isnull( G.[value], '' ), " +
" 'isKey' = " +
"CASE " +
" WHEN EXISTS ( " +
" SELECT " +
" 1 " +
" FROM " +
" sysobjects " +
" WHERE " +
" xtype = 'PK' " +
" AND parent_obj = A.id " +
" AND name IN ( SELECT name FROM sysindexes WHERE indid IN ( SELECT indid FROM sysindexkeys WHERE id = A.id AND colid = A.colid ) ) " +
" ) THEN " +
" 'true' ELSE 'false' " +
" END, " +
" 'dataType' = B.name, " +
" 'maxLength' = COLUMNPROPERTY( A.id, A.name, 'PRECISION' ), " +
" 'numericPrecision' = isnull( COLUMNPROPERTY( A.id, A.name, 'Scale' ), 0 ), " +
" 'isNull' = " +
"CASE " +
" " +
" WHEN A.isnullable= 1 THEN " +
" 'true' ELSE 'false' " +
" END " +
"FROM " +
" syscolumns A " +
" LEFT JOIN systypes B ON A.xusertype= B.xusertype " +
" INNER JOIN sysobjects D ON A.id= D.id " +
" AND D.xtype= 'U' " +
" AND D.name != 'dtproperties' " +
" LEFT JOIN syscomments E ON A.cdefault= E.id " +
" LEFT JOIN sys.extended_properties G ON A.id= G.major_id " +
" AND A.colid= G.minor_id " +
" LEFT JOIN sys.extended_properties F ON D.id= F.major_id " +
" AND F.minor_id= 0 " +
"WHERE " +
" d.name in ";
System.out.println(sql);
}
}