可查看当前数据库中的所有视图和表_sqlserver实例根目录

可查看当前数据库中的所有视图和表_sqlserver实例根目录SQL脚本 /*************1:删除临时表*************/ if exists(select * from tempdb..sysobjects where id=object

SQLServer之查询当前服务器下所有目录视图表

SQL脚本

/*************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 

  

代码100分

SQL脚本使用

先执行注释1,然后注释2到注释8脚本一起执行,最后执行注释9或者使用临时表。

SQL执行结果

可查看当前数据库中的所有视图和表_sqlserver实例根目录

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9832.html

(0)
上一篇 2023-01-31
下一篇 2023-01-31

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注