加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 13:48:53 所属栏目:MsSql教程 来源:网络整理
导读:做项目中前些天要手动改数据库中的一些字段的值,但发现这个字段可能会被数据库中其他的很多张表引用,于是就得想办法查询出该条记录的所有引用的表和字段,下面的存储过程可以查询出整个数据库中某个特定值所在的表和字段。 ↓双击代码段选中复制↓ 1 2 3 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 CREATE? PROCEDURE? [dbo].[SP_FindValueInDB](????@value?VARCHAR(1024))?ASBEGIN????SET? NOCOUNT?ON;DECLARE? @sql?(1024)?@table? (64)?column? (64)?TABLE? #t?(?????????tablename?(64),?columnname?(64)?)?TABLES?CURSOR? FOR? SELECT? o.name,?c.name? FROM? syscolumns?c?INNER? JOIN? sysobjects?o?ON? c.id?=?o.id?WHERE? o.type?=?'U'? AND? c.xtype?IN? (167,?175,?231,?239)?ORDER? BY? name? OPEN? TABLES?????????FETCH? NEXT? TABLES?INTO? tablecolumn? WHILE?@@FETCH_STATUS?=?0?BEGIN? ????????????@sql?=?'IF?EXISTS(SELECT?NULL?FROM?['? +?@table? +?']?'? @sql?=?@sql?+?'WHERE?RTRIM(LTRIM(['? column? ']))?LIKE?''%'? +?@value?+?'%'')?'? 'INSERT?INTO?#t?VALUES?('''? ''',?'''? @sql?=?@sql?+?@')'? EXEC(@sql)?TABLES?column? END? CLOSE? TABLES?DEALLOCATE? TABLES?*?#t?DROP? #t?End

只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名。

↓双击代码段选中复制↓ 1 exec? [SP_FindValueInDB]??'4f02e90d-9a75-4bd9-a98f-3b6e0851c29a'

查询出来的结果如下:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

做项目中前些天要手动改数据库中的一些字段的值,但发现这个字段可能会被数据库中其他的很多张表引用,于是就得想办法查询出该条记录的所有引用的表和字段,下面的存储过程可以查询出整个数据库中某个特定值所在的表和字段。

↓双击代码段选中复制↓
    推荐文章
      热点阅读