<div class="codebody" id="code48650"> SELECT SO.NAME AS "Table Name",SC.NAME AS "Column Name",SM.TEXT AS "Default Value" FROM dbo.sysobjects SO INNER JOIN dbo.syscolumns SC ON SO.id = SC.id LEFT JOIN dbo.syscomments SM ON SC.cdefault = SM.id WHERE SO.xtype = 'U' ORDER BY SO.[name],SC.colid
Quote: SELECT SO.NAME AS "Table Name",SM.TEXT AS "Default Value" FROM dbo.sysobjects SO INNER JOIN dbo.syscolumns SC ON SO.id = SC.id LEFT JOIN dbo.syscomments SM ON SC.cdefault = SM.id WHERE SO.xtype = 'U' AND SM.TEXT = '(0)' ORDER BY SO.[name],SC.colid 选择2:只返回具有默认值字段的信息 修改核心查询的WHERE条件语句来忽略syscomments.text表中的NULL值,这个技巧如下所示:
<div class="codebody" id="code40364"> SELECT SO.NAME AS "Table Name",SM.TEXT AS "Default Value" FROM dbo.sysobjects SO INNER JOIN dbo.syscolumns SC ON SO.id = SC.id LEFT JOIN dbo.syscomments SM ON SC.cdefault = SM.id WHERE SO.xtype = 'U' AND SM.TEXT IS NOT NULL ORDER BY SO.[name],SC.colid
<div class="codebody" id="code18338"> SELECT SO.NAME AS "Table Name",SM.TEXT AS "Default Value" FROM dbo.sysobjects SO INNER JOIN dbo.syscolumns SC ON SO.id = SC.id INNER JOIN dbo.syscomments SM ON SC.cdefault = SM.id WHERE SO.xtype = 'U' ORDER BY SO.[name],SC.colid
<div class="codebody" id="code57859"> SELECT ST.[name] AS "Table Name",SC.[name] AS "Column Name",SD.definition AS "Default Value",SD.[name] AS "Constraint Name" FROM sys.tables ST INNER JOIN sys.syscolumns SC ON ST.[object_id] = SC.[id] INNER JOIN sys.default_constraints SD ON ST.[object_id] = SD.[parent_object_id] AND SC.colid = SD.parent_column_id ORDER BY ST.[name],SC.colid