sql server 在所有表中查询某个字段值
我有个数据库,里面有几十张表,表里面有相同字段STCD,我想知道能不能找出STCD=123的所有表的信息...
我有个数据库,里面有几十张表,表里面有相同字段STCD,我想知道能不能找出STCD=123的所有表的信息
展开
2个回答
展开全部
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
注意语法
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询