SQL SERVER获取信息的方法
Posted a14907
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL SERVER获取信息的方法相关的知识,希望对你有一定的参考价值。
获取数据库的表
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 inner join 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获取信息的方法的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 2005 SSIS - 如何从文件的第一行获取特殊信息