用游标实现查询当前服务器所有数据库所有表的SQL
declare @name varchar(100)
DECLARE My_Cursor CURSOR --定义游标
FOR (SELECT Name FROM Master..SysDatabases
where name NOT IN ('master','model','msdb','tempdb') ) --查出需要的集合放到游标中
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN if exists(select 1 from sysobjects where xtype='u' and name like '%qq%')
select name from sysobjects where xtype='u' and name like '%qq%'
FETCH NEXT FROM My_Cursor INTO @name
END CLOSE MY_CURSOR
DEALLOCATE My_Cursor
其中QQ可以替换成自己想要的条件哦
PS:有问题改了下还是不行,有知道的人吗?
declare @name varchar(100)
declare @sql varchar(100)
DECLARE My_Cursor CURSOR --定义游标
FOR (SELECT Name FROM Master..SysDatabases
where name NOT IN ('master','model','msdb','tempdb','ReportServer','ReportServerTempDB') ) --查出需要的集合放到游标中
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN select @sql='use '+@name
EXEC sp_sqlexec @Sql
--select @name from Master..SysDatabases
--if exists(select 1 from sysobjects where xtype='u' )--
select * from sysobjects where xtype='u'-- and name like '%sys%'
FETCH NEXT FROM My_Cursor INTO @name
END CLOSE MY_CURSOR
DEALLOCATE My_Cursor
DECLARE @dbname VARCHAR(50);
DECLARE @i INT =1;
DECLARE @maxid INT=0;
CREATE TABLE #temp(
id int Identity(1,1),
dbname varchar(50)
)
DECLARE @sql VARCHAR(max)='';
INSERT INTO #temp
(dbname )
SELECT NAME FROM master.sys.SysDatabases where name NOT IN ('master','model','msdb','tempdb')
SELECT @maxid=MAX(id) FROM #temp
WHILE @i<@maxid
BEGIN
DECLARE @db VARCHAR(50)='';
SELECT @db=dbname FROM #temp WHERE id=@i
PRINT @db
IF @i<>1 AND @i<>@maxid
BEGIN
SET @sql+=' UNION ALL'
END
SET @sql+=' SELECT * FROM '+@db+'.INFORMATION_SCHEMA.TABLES '
SET @i+=1;
END
DROP TABLE #temp
EXEC(@sql)
经过千辛万苦,找到了方法,正确的方法如下:
sp_MSForEachDB @command1='USE ?; SELECT o.name AS tablename,c.name AS columnname,t.name AS datatype, *
FROM sys.[columns] AS c
INNER JOIN sys.objects AS o ON c.[object_id]=c.[object_id]
INNER JOIN sys.types AS t ON t.user_type_id=c.user_type_id
WHERE o.[type]=''U'''
用游标实现查询当前服务器所有数据库所有表的SQL的更多相关文章
- 字段自动递增的数据库建表的SQL写法
数据库建表的SQL写法如下: 数据库建表的SQL写法如下: create table dataC( a int identity(1,2) primary key, b varchar(20)) ...
- 创建数据库和表的SQL语句【转】
创建数据库和表的SQL语句 转至http://www.cnblogs.com/philanthr/archive/2011/08/09/2132398.html 创建数据库的SQL语句: 1 crea ...
- Oracle数据库查看表空间sql语句
转: Oracle数据库查看表空间sql语句 2018-09-03 15:49:51 兰海泽 阅读数 6212 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出 ...
- 远程linux服务器mysql数据库导入和导出.sql文件
大部分情况本地开发环境为windows,部署的服务器为Linux,本地数据库导出.sql文件后需要远程导入服务器,具体如下. 首先连接服务器,即服务器ip,协议,端口,用户名及密码,可以通过ftp客户 ...
- oracle数据库锁表,什么SQL引起了锁表?ORACLE解锁的方法
--查询数据库锁表记录 select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.l ...
- 创建数据库和表的SQL语句
创建数据库的SQL语句: 1 create database stuDB 2 on primary -- 默认就属于primary文件组,可省略 3 ( 4 /*--数据文件的具体描述--*/ 5 n ...
- Oracle数据库建表并用SQL编程分等级
--创建学生表create table XS_543 ( XH char(6) not null , XM varchar2(20) not null, ZYM varchar2(10), XB ch ...
- SqlServer2005或2008数据库字典--表结构.sql
SELECT TOP 100 PERCENT --a.id, CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名, C ...
- SqlServer2000数据库字典--表结构.sql
SELECT TOP 100 PERCENT --a.id, CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名, C ...
随机推荐
- 理解 .NET Platform Standard
相关博文:ASP.NET 5 Target framework dnx451 and dnxcore50 .NET Platform Standard:https://github.com/dotne ...
- 简记某WebGIS项目的优化之路
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 该项目为研究生时的老师牵头,个人已毕业数年,应老师要求协助其 ...
- C++ 拷贝构造函数和赋值运算符
本文主要介绍了拷贝构造函数和赋值运算符的区别,以及在什么时候调用拷贝构造函数.什么情况下调用赋值运算符.最后,简单的分析了下深拷贝和浅拷贝的问题. 拷贝构造函数和赋值运算符 在默认情况下(用户没有定义 ...
- ES6之let命令详解
let与块级作用域 { var foo='foo'; let bar='bar'; } console.log(foo,'var'); //foo varconsole.log(bar ,'bar') ...
- 从国内流程管理软件市场份额看中国BPM行业发展
随着互联网+.中国制造2025.工业4.0等国家战略的支持与引导,企业在数字经济时代的信息化表现惊人,越来越多企业认识到,对于企业的发展来说,信息自动化远远还不够,企业的战略.业务和IT之间需保持高度 ...
- 如何区别exists与not exists?
1.exists:sql返回结果集为真:not exists:sql不返回结果集为真.详解过程如图: exists not exists
- Linux下用netstat查看网络状态、端口状态(转)
转:http://blog.csdn.net/guodongdongnumber1/article/details/11383019 在linux一般使用netstat 来查看系统端口使用情况步. ...
- jetBrain系列软件
请尽量支持正版软件!https://www.jetbrains.com/ 本文仅供参考 以下提供一种方法可以无限期体验JetBrain2016系列软件. 1.下载JetbrainsCrack-2.5. ...
- TypeScript
TypeScript: Angular 2 的秘密武器(译) 本文整理自Dan Wahlin在ng-conf上的talk.原视频地址: https://www.youtube.com/watch? ...
- Kafka1 利用虚拟机搭建自己的Kafka集群
前言: 上周末自己学习了一下Kafka,参考网上的文章,学习过程中还是比较顺利的,遇到的一些问题最终也都解决了,现在将学习的过程记录与此,供以后自己查阅,如果能帮助到其他人,自然是更好的. ...