经典SQL语句

1. SqlServer2000数据库字典--表结构.sql
None.gifSELECT TOP 100 PERCENT -- a.id, 
None.gif      CASE WHEN a.colorder 
= 1 THEN d.name ELSE ''
 END AS 表名, 
None.gif      CASE WHEN a.colorder 
= 1 THEN isnull(f.value, '') ELSE ''
 END AS 表说明, 
None.gif      a.colorder AS 字段序号, a.name AS 字段名, CASE WHEN COLUMNPROPERTY(a.id, 
None.gif      a.name, 
'IsIdentity'= 1 THEN '' ELSE ''
 END AS 标识, 
None.gif      CASE WHEN EXISTS
None.gif          (SELECT 
1

None.gif         FROM dbo.sysindexes si INNER JOIN
None.gif               dbo.sysindexkeys sik ON si.id 
= sik.id AND si.indid =  sik.indid INNER JOIN
None.gif               dbo.syscolumns sc ON sc.id 
= sik.id AND sc.colid =
 sik.colid INNER JOIN
None.gif               dbo.sysobjects so ON so.name 
= si.name AND so.xtype = 'PK'

None.gif         WHERE sc.id 
= a.id AND sc.colid = a.colid) THEN '' ELSE ''  END AS 主键, 
None.gif      b.name AS 类型, a.length AS 长度, COLUMNPROPERTY(a.id, a.name, 
'PRECISION'

None.gif      AS 精度, ISNULL(COLUMNPROPERTY(a.id, a.name, 
'Scale'), 0
) AS 小数位数, 
None.gif      CASE WHEN a.isnullable 
= 1 THEN '' ELSE '' END AS 允许空, ISNULL(e.text, ''

None.gif      AS 默认值, ISNULL(g.[value], 
''
) AS 字段说明, d.crdate AS 创建时间, 
None.gif      CASE WHEN a.colorder 
= 1
 THEN d.refdate ELSE NULL END AS 更改时间
None.gifFROM dbo.syscolumns a LEFT OUTER JOIN
None.gif      dbo.systypes b ON a.xtype 
=
 b.xusertype INNER JOIN
None.gif      dbo.sysobjects d ON a.id 
= d.id AND d.xtype = 'U'
 AND 
None.gif      d.status 
>= 0
 LEFT OUTER JOIN
None.gif      dbo.syscomments e ON a.cdefault 
=
 e.id LEFT OUTER JOIN
None.gif      dbo.sysproperties g ON a.id 
= g.id AND a.colid =
 g.smallid AND 
None.gif      g.name 
= 'MS_Description'
 LEFT OUTER JOIN
None.gif      dbo.sysproperties f ON d.id 
= f.id AND f.smallid = 0
 AND 
None.gif      f.name 
= 'MS_Description'

None.gifORDER BY d.name, a.colorder
SqlServer2005数据库字典--表结构.sql
None.gif SELECT TOP  100  PERCENT  -- a.id, 
None.gif      CASE WHEN a.colorder 
=   1  THEN d.name ELSE  ''  END AS 表名, 
None.gif      CASE WHEN a.colorder 
=   1  THEN isnull(f.value,  '' ) ELSE  ''  END AS 表说明, 
None.gif      a.colorder AS 字段序号, a.name AS 字段名, CASE WHEN COLUMNPROPERTY(a.id, 
None.gif      a.name, 
' IsIdentity ' =   1  THEN  ' '  ELSE  ''  END AS 标识, 
None.gif      CASE WHEN EXISTS
None.gif          (SELECT 
1
None.gif         FROM dbo.sysindexes si INNER JOIN
None.gif               dbo.sysindexkeys sik ON si.id 
=  sik.id AND si.indid  =  sik.indid INNER JOIN
None.gif               dbo.syscolumns sc ON sc.id 
=  sik.id AND sc.colid  =  sik.colid INNER JOIN
None.gif               dbo.sysobjects so ON so.name 
=  si.name AND so.xtype  =   ' PK '
None.gif         WHERE sc.id 
=  a.id AND sc.colid  =  a.colid) THEN  ' '  ELSE  ''  END AS 主键, 
None.gif      b.name AS 类型, a.length AS 长度, COLUMNPROPERTY(a.id, a.name, 
' PRECISION '
None.gif      AS 精度, ISNULL(COLUMNPROPERTY(a.id, a.name, 
' Scale ' ),  0 ) AS 小数位数, 
None.gif      CASE WHEN a.isnullable 
=   1  THEN  ' '  ELSE  ''  END AS 允许空, ISNULL(e.text,  ''
None.gif      AS 默认值, ISNULL(g.[value], 
'' ) AS 字段说明, d.crdate AS 创建时间, 
None.gif      CASE WHEN a.colorder 
=   1  THEN d.refdate ELSE NULL END AS 更改时间
None.gifFROM dbo.syscolumns a LEFT OUTER JOIN
None.gif      dbo.systypes b ON a.xtype 
=  b.xusertype INNER JOIN
None.gif      dbo.sysobjects d ON a.id 
=  d.id AND d.xtype  =   ' U '  AND 
None.gif      d.status 
>=   0  LEFT OUTER JOIN
None.gif      dbo.syscomments e ON a.cdefault 
=  e.id LEFT OUTER JOIN
None.gif      sys.extended_properties g ON a.id 
=  g.major_id AND a.colid  =  g.minor_id AND 
None.gif      g.name 
=   ' MS_Description '  LEFT OUTER JOIN
None.gif      sys.extended_properties f ON d.id 
=  f.major_id AND f.minor_id  =   0  AND 
None.gif      f.name 
=   ' MS_Description '
None.gifORDER BY d.name, 字段序号
2. SqlServer数据库字典--索引.sql
None.gifSELECT TOP 100 PERCENT -- a.id, 
None.gif      CASE WHEN b.keyno 
= 1 THEN c.name ELSE ''
 END AS 表名, 
None.gif      CASE WHEN b.keyno 
= 1 THEN a.name ELSE ''
 END AS 索引名称, d.name AS 列名, 
None.gif      b.keyno AS 索引顺序, CASE indexkey_property(c.id, b.indid, b.keyno, 
'isdescending'

None.gif      WHEN 
1 THEN '降序' WHEN 0 THEN '升序'
 END AS 排序, CASE WHEN p.id IS NULL 
None.gif      THEN 
'' ELSE '' END AS 主键, CASE INDEXPROPERTY(c.id, a.name, 'IsClustered'

None.gif      WHEN 
1 THEN '' WHEN 0 THEN ''
 END AS 聚集, CASE INDEXPROPERTY(c.id, 
None.gif      a.name, 
'IsUnique') WHEN 1 THEN '' WHEN 0 THEN ''
 END AS 唯一, 
None.gif      CASE WHEN e.id IS NULL THEN 
'' ELSE ''
 END AS 唯一约束, 
None.gif      a.OrigFillFactor AS 填充因子, c.crdate AS 创建时间, c.refdate AS 更改时间
None.gifFROM dbo.sysindexes a INNER JOIN
None.gif      dbo.sysindexkeys b ON a.id 
= b.id AND a.indid =
 b.indid INNER JOIN
None.gif      dbo.syscolumns d ON b.id 
= d.id AND b.colid =
 d.colid INNER JOIN
None.gif      dbo.sysobjects c ON a.id 
= c.id AND c.xtype = 'U'
 LEFT OUTER JOIN
None.gif      dbo.sysobjects e ON e.name 
= a.name AND e.xtype = 'UQ'
 LEFT OUTER JOIN
None.gif      dbo.sysobjects p ON p.name 
= a.name AND p.xtype = 'PK'

None.gifWHERE (OBJECTPROPERTY(a.id, N
'IsUserTable'= 1 ) AND (OBJECTPROPERTY(a.id, 
None.gif      N
'IsMSShipped'= 0) AND (INDEXPROPERTY(a.id, a.name, 'IsAutoStatistics'= 0
)
None.gifORDER BY c.name, a.name, b.keyno
3. SqlServer数据库字典--表.视图.函数.存储过程.触发器.主键.外键.约束.规则.sql
None.gif SELECT DISTINCT 
None.gif      TOP 
100  PERCENT isnull(p.name, '' ) AS 父对象, o.xtype, 
None.gif      CASE o.xtype WHEN 
' C '  THEN  ' CHECK 约束 '  WHEN  ' D '  THEN  ' 默认值或DEFAULT约束 '
None.gif       WHEN 
' F '  THEN  ' FOREIGNKEY约束 '  WHEN  ' L '  THEN  ' 日志 '  WHEN  ' FN '  THEN  ' 标量函数 '
None.gif       WHEN 
' IF '  THEN  ' 内嵌表函数 '  WHEN  ' P '  THEN  ' 存储过程 '  WHEN  ' PK '  THEN  ' PRIMARYKEY约束 '
None.gif       WHEN 
' RF '  THEN  ' 复制筛选存储过程 '  WHEN  ' S '  THEN  ' 系统表 '  WHEN  ' TF '  THEN  ' 表函数 '
None.gif       WHEN 
' TR '  THEN  ' 触发器 '  WHEN  ' U '  THEN  ' 用户表 '  WHEN  ' UQ '  THEN  ' UNIQUE 约束 '
None.gif       WHEN 
' V '  THEN  ' 视图 '  WHEN  ' X '  THEN  ' 扩展存储过程 '  WHEN  ' R '  THEN  ' 规则 '  ELSE NULL
None.gif       END AS 类型, o.name AS 对象名, o.crdate AS 创建时间, o.refdate AS 更改时间, 
None.gif      c.text AS 声明语句,OBJECTPROPERTY(o.id, N
' IsMSShipped ' )
None.gifFROM dbo.sysobjects o Left JOIN
None.gif      dbo.sysobjects p ON o.parent_obj 
=  p.id LEFT OUTER JOIN
None.gif      dbo.syscomments c ON o.id 
=  c.id
None.gifWHERE 
-- (o.xtype IN ( ' C ' , ' D ' , ' F ' , ' PK ' , ' UQ ' , ' L ' , ' FN ' , ' IF ' , ' TF ' , ' TR ' , ' P ' , ' R ' , ' RF ' , ' X ' , ' S ' , ' U ' , ' V ' )) AND 
None.gif      (OBJECTPROPERTY(o.id, N
' IsMSShipped ' =   0 ) AND (isnull(p.name, '' <>  N ' dtproperties ' )
None.gifORDER BY o.xtype DESC
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值