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

已知数据库[DtradeProductionTFG],已知数据库里边某个表的某个字段储存的值为[CT无袖开胸上衣],如何查询到该值所在的表和字段。参考:https://b... 已知数据库 [DtradeProductionTFG],已知数据库里边某个表的某个字段储存的值为 [CT无袖开胸上衣] ,如何查询到该值所在的表和字段。
参考:https://blog.csdn.net/zengcong2013/article/details/55264202
运行参考里的代码提示执行完成,但是找不到新建的[SP_FindValueInDB],再次运行代码又提示数据库里存在该表,搞不懂,具体要如何操作,还有参考里说的“传入一个想要查找的值”要怎么传入?
展开
 我来答
badkano
2018-09-19 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885368
团长

向TA提问 私信TA
展开全部

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

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,远程方便不?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式