2024年4月15日发(作者:)
SQL系统视图,系统表,系统存储过程的使用
获取数据库中用户表信息
1、获取特定库中所有用户表信息
select * from
select * from s
where type='U'
--用户表
第二条语句中当type='S'时是系统表
2、获取表的字段信息
select * from s where object_id=object_id('表名')
select * from syscolumns where id=OBJECT_ID('表名' )
3、获取当前库中表的字段及类型信息
(1)
select '字段名'=,
'类型名'=,
'字段长度'=_length,
'参数顺序'=_id
from s a left join b
on _type_id=_type_id
where object_id=object_id('表名')
syscolumns与s表用法类似。
获取索引或主键信息
1、 获取对象及对应的索引的信息
select '对象名'=,
'对象类型'=,
1
'索引名'=,
'索引类型'=case when 1 then '聚集索引'
when 2 then '非聚集索引'
when 3 then 'xml索引'
else '空间索引' end,
'主键否'=case when _primary_key=1 then '主键'
else '' end
FROM s A JOIN s B ON _id=_id
WHERE ='U' AND IS NOT NULL order by
2、 获取表的主键及对应的字段
(1)
select '表名'= ,'主键名'=,'字段名'=
from s a join _columns b
on _id=_id and _id=_id
join s c on _id=_id and
_id=_id
join s d on _id=_id
where _primary_key=1
(2)
SELECT '表名'=OBJECT_NAME(_obj),
'主键名'=,
'字段名'=
FROM syscolumns a,sysobjects b,sysindexes c,sysindexkeys d
WHERE = 'PK' AND _obj = AND =
2


发布评论