SQLSERVER 如何查询整个数据库中某个特定值所在的表和字段

已知数据库 [DtradeProductionTFG],已知数据库里边某个表的某个字段储存的值为 [CT无袖开胸上衣] ,如何查询到该值所在的表和字段。
参考:https://blog.csdn.net/zengcong2013/article/details/55264202
运行参考里的代码提示执行完成,但是找不到新建的[SP_FindValueInDB],再次运行代码又提示数据库里存在该表,搞不懂,具体要如何操作,还有参考里说的“传入一个想要查找的值”要怎么传入?

以前写过类似的,参考一下:

declare @str nvarchar(20)
declare @tablename varchar(50)
declare @colname varchar(50)
declare @counts int
declare @sql nvarchar(2000)--以上定义变量
declare cur1 cursor for 
select a.name tablename,B.name colname from sys.objects a,syscolumns b where a.object_id=b.id and a.type_desc='USER_TABLE'--定义游标
set @str='CT无袖开胸上衣' --设置要查找的字符
Open cur1 --打开游标
Fetch next From cur1 Into @tablename,@colname
While(@@Fetch_Status = 0) --循环
Begin
set @sql=N'select  @counts=COUNT(*) from ' + @tablename + '   where  charindex('''+@str+''','+@colname+')>0'
exec sp_executesql @sql,N'@counts int output',@counts output --执行动态sql
if @counts>0 --判断某个表某个字段是否存在特定字符
begin
print @tablename+','+@colname --打印表名及字段名
end
Fetch next From cur1 Into @tablename,@colname
End
Close cur1 --关闭游标
Deallocate cur1 --释放游标追问

消息 4104,级别 16,状态 1,第 7 行
The multi-part identifier "B.name" could not be bound.

追答

什么版本sqlserver,远程方便不?

追问

我看过你以前发的,但是查询一个早上都没查完

温馨提示:答案为网友推荐,仅供参考
相似回答