sql查询数据库中有某个值的所有表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql查询数据库中有某个值的所有表相关的知识,希望对你有一定的参考价值。

参考技术A CREATE
PROCEDURE
dbo.FindString
@string
NVARCHAR(100)
AS
DECLARE
@SQL
NVARCHAR(4000);
SET
@SQL
=
N'
DECLARE
@str
NVARCHAR(4000);
SELECT
@str
=
ISNULL(@str
+
N''
OR
''
+
c.name
+
N''
LIKE
N''''%'
+
@string
+
'
%'''''',
c.name
+
N''
LIKE
N''''%'
+
@string
+'%'''''')
FROM
syscolumns
AS
c
JOIN
systypes
AS
t
ON
c.id=OBJECT_ID(''?'')
AND
c.xtype=t.xtype
AND
t.name
IN(''varchar'',''char'',''nvarchar'',''nchar'');
SET
@str
=
''SELECT
TOP
1
1
FROM
?
WHERE
''+@str;
CREATE
TABLE
#tb(a
int);
INSERT
#tb(a)
EXEC(@str);
IF
EXISTS(SELECT
*
FROM
#tb)
PRINT
''?''
';
EXEC
sp_MsforeachTable
@SQL;
GO
别人写的一个存储过程的例子,看看对你有没有用...

SQL server 查询数据库中所有包含某值的表

就是说,school数据库中有:class1,class2,class3....class100 表
我知道某个学生或者老师的名称是小明,并且他在这所学校.
怎么知道他在哪个班级里面呢?
不用多表联查的方式(毕竟有100多个班级)。
是否可以直接以school这个数据库为目标进行查询呢?

参考技术A use test
go
select a.Name as tableName from sysobjects a inner join syscolumns b on a.ID=b.ID
where b.Name='列名'本回答被提问者和网友采纳

以上是关于sql查询数据库中有某个值的所有表的主要内容,如果未能解决你的问题,请参考以下文章