--创建一个游标
declare my_cursor cursor for --my_cursor为游标的名称,随便起
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U' --这是游标my_cursor的值,这里随便发挥看业务场景
--打开游标
open my_cursor
--变量
--声明变量 ‘declare’为声明变量 ‘@name’为变量名称 后面为变量类型
declare @name varchar(50) --这里是两个变量用来接收游标的值
--循环游标
fetch next from my_cursor into @name --获取my_cursor的下一条数据,其中为两个字段分别赋值给@id,@name
while @@FETCH_STATUS=0 --假如检索到了数据继续执行
begin
SELECT
排序号= a.colorder,
列类型= b.name,
列名称= a.name,
列说明= isnull(g.[value],'')
FROM syscolumns a
LEFT JOIN systypes b on a.xusertype=b.xusertype
INNER JOIN sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
LEFT JOIN syscomments e on a.cdefault=e.id
LEFT JOIN sys.extended_properties g on a.id=G.major_id and a.colid=g.minor_id
LEFT JOIN sys.extended_properties f on d.id=f.major_id and f.minor_id=0
WHERE d.name = @name
fetch next from my_cursor into @name --获取下一条数据并赋值给变量
--
end--关闭释放游标
close my_cursor
deallocate my_cursor
sql 查询数据库所有表的字段和备注
最新推荐文章于 2023-08-23 15:59:28 发布