sql server 在所有表中查询某个字段值

我有个数据库,里面有几十张表,表里面有相同字段STCD,我想知道能不能找出STCD=123的所有表的信息
最新回答
⌒小污見ノ大污

2024-11-04 02:19:39

DECLARE @Name nvarchar(255),@Sql nvarchar(4000),@value varchar(50)
set @value='查询'
DECLARE TName CURSOR FOR
SELECT [name] FROM sysobjects WHERE xtype = 'U'
OPEN TName
FETCH NEXT FROM TName
INTO @Name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @Sql='SELECT * FROM '+@name + 'WHERE STCD='''+@value+''''
EXEC(@Sql)
FETCH NEXT FROM TName INTO @name
END
CLOSE TName
DEALLOCATE TName

注意语法
追问
消息 102,级别 15,状态 1,第 1 行
'=' 附近有语法错误。
还是提示有错误啊?
追答
SET @Sql='SELECT * FROM '+@name + ' WHERE STCD='''+@value+''''
这8一行注0意where5关键字的09前6面空33格7

上面数字是我QQ
一懒众山小

2024-11-04 00:38:53

将要查询字段的长度减去该字段将要查询字符替换为空后的长度
select
len(字段名)-len(replace(字段名,要查询的字符,''))from
table