在线英译中,兽王争夺战无敌版,小熊张弛
/*************1:删除临时表*************/
if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#temptable'))
drop table #temptable;
/*************2:定义游标*************/
declare databasenamecursor cursor for select name from master.dbo.sysdatabases;
declare @databasename nvarchar(512),@databasecount int;
set @databasecount=(select count(1) from master.dbo.sysdatabases);
/*************3:打开游标*************/
open databasenamecursor;
/*************4:连接游标*************/
fetch next from databasenamecursor into @databasename
/*************5:创建临时表*************/
create table #temptable
(
id int identity(1,1) not null,
databasename nvarchar(max),
schemaname nvarchar(max),
tablename nvarchar(max),
primary key(id)
);
/************6:循环插入临时表中*************/
while (@@fetch_status=0 and @databasecount>0)
begin
begin try
set @databasecount=@databasecount-1;
declare @tablefullname nvarchar(1024);
set @tablefullname='select '''+@databasename+''',schema_name(schema_id),name from '+@databasename+'.sys.tables';
insert into #temptable(databasename,schemaname,tablename)
exec sp_executesql @tablefullname;
--指向下一个游标
fetch next from databasenamecursor into @databasename
end try
begin catch
continue;
end catch
end
/*************7:关闭游标*************/
close databasenamecursor;
/*************8:释放游标*************/
deallocate databasenamecursor;
/*************9:查看服务器所有表*************/
select * from #temptable
先执行注释1,然后注释2到注释8脚本一起执行,最后执行注释9或者使用临时表。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
数据库SQL---数据库、基本表、视图、索引的定义、修改、删除
在 Azure CentOS VM 中配置 SQL Server 2019 AG - (上)
在 Azure CentOS VM 中配置 SQL Server 2019 AG - (下)
网友评论