怎么把数据库中含有Name属性的表全部找出来
1个回答
展开全部
SELECT SysObjects.name AS Tablename into #table FROM sysobjects WHERE xtype = 'U' --将所有表名存入临时表
declare My_cursor CURSOR For select * from #table --定义游标
declare @tablename nvarchar(30) --定义表名变量
declare @Have bit --定义开关变量
OPEN My_cursor --打开游标
FETCH NEXT FROM My_cursor InTo @tablename
while @@fetch_status=0
begin
set @Have=(select count(*) where 'Name' in (SELECT name FROM SysColumns WHERE id=Object_Id(@tablename)))
if (@Have=1)
begin
print(@tablename)
end
fetch next from My_cursor InTo @tablename
end
drop table #table
close My_cursor
deallocate My_cursor
已经在SQL server 上测试通过。
采纳后,希望加分。
给你做这个,可花了不少时间。
declare My_cursor CURSOR For select * from #table --定义游标
declare @tablename nvarchar(30) --定义表名变量
declare @Have bit --定义开关变量
OPEN My_cursor --打开游标
FETCH NEXT FROM My_cursor InTo @tablename
while @@fetch_status=0
begin
set @Have=(select count(*) where 'Name' in (SELECT name FROM SysColumns WHERE id=Object_Id(@tablename)))
if (@Have=1)
begin
print(@tablename)
end
fetch next from My_cursor InTo @tablename
end
drop table #table
close My_cursor
deallocate My_cursor
已经在SQL server 上测试通过。
采纳后,希望加分。
给你做这个,可花了不少时间。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询