SQL SERVER獲取信息的方法
阿新 • • 發佈:2017-07-13
獲取 表名 lec form ase ima cas col object
獲取數據庫的表
SELECT obj.name tablename, schem.name schemname, CAST ( CASE WHEN (SELECT COUNT(1) FROM sys.indexes WHERE object_id= obj.OBJECT_ID AND is_primary_key=1) >=1 THEN 1 ELSE 0 END AS BIT) HasPrimaryKey from sys.objects obj innerjoin dbo.sysindexes idx on obj.object_id=idx.id and idx.indid<=1 INNER JOIN sys.schemas schem ON obj.schema_id=schem.schema_id where type=‘U‘ and obj.name =‘表名‘ order by obj.name
獲取表的字段名及類型
1、方法一
SELECT * FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME=‘表名‘
2、方法二
select a.name tablename, b.name colName, c.name colType ,c.length colLength
from sysobjects a inner join syscolumns b
on a.id=b.id and a.xtype=‘U‘
inner join systypes c
on b.xtype=c.xusertype
where a.name=‘表名‘
規律:
表信息存儲在:sys.objects
架構信息在:sys.schemas
索引信息在:sys.indexes
列信息在:sys.columns
這四個都是視圖。
SQL SERVER獲取信息的方法