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

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

  前提是要将这个存储过程放在所查询的数据库

CREATE PROCEDURE [dbo].[SP_FindValueInDB]
(
@value VARCHAR(1024)
)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @sql VARCHAR(1024)
DECLARE @table VARCHAR(64)
DECLARE @column VARCHAR(64)
CREATE TABLE #t (
tablename VARCHAR(64),
columnname VARCHAR(64)
)
DECLARE 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 o.name, c.name
OPEN TABLES
FETCH NEXT FROM TABLES
INTO @table, @column
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = 'IF EXISTS(SELECT NULL FROM [' + @table + '] '
SET @sql = @sql + 'WHERE RTRIM(LTRIM([' + @column + '])) LIKE ''%' + @value + '%'') '
SET @sql = @sql + 'INSERT INTO #t VALUES (''' + @table + ''', '''
SET @sql = @sql + @column + ''')'
EXEC(@sql)
FETCH NEXT FROM TABLES
INTO @table, @column
END
CLOSE TABLES
DEALLOCATE TABLES
SELECT *
FROM #t
DROP TABLE #t
End

 例如,要查询值'BBQ CHIC SW',结果如下:

  返回三条记录,说明这个值存在于三个表中,分别为_dts_menudef, g_dts_menudef和g_recipe中,字段名分别为name1, name1, name   

最新内容请见作者的GitHub页:http://qaseven.github.io/

   

时间: 2024-07-31 06:36:04

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

mysql 怎么查询整个数据库中某个特定值所在的表和字段?

问题描述 mysql 怎么查询整个数据库中某个特定值所在的表和字段? 比如说有 person表中有name="苹果",goods表中有label="苹果" 那么根据"苹果"怎么确认person 与 goods这两张表及各自对应的是name与label字段呢? 解决方案 查询整个数据库中某个特定值所在的表和字段的方法查询整个数据库中某个特定值所在的表和字段的方法查询整个数据库中某个特定值所在的表和字段的方法 解决方案二: 如果,你说的Pseron里

用于查询当前数据库中所有表格的记录条数的脚本

脚本|数据|数据库 --==========================================================================-- 说明: 本脚本用于查询当前数据库中所有表格的记录条数--   并将结果存入TableInfo表中,不会删除以备用户再做处理与分析--   不过,最后请用户删除此表.--========================================================================== if

hibernate可不可以根据一个实体类查询出数据库中是否存在该记录

问题描述 hibernate可不可以根据一个实体类查询出数据库中是否存在该记录 需要判断一条记录是否已经在数据库中是否存在重复记录,用hql的话传入的参数会比较多

访问数据库-怎样查询数据库中整张表格的数据,不用拼接的方法

问题描述 怎样查询数据库中整张表格的数据,不用拼接的方法 using System.Data.SqlClient; namespace WindowsFormsApplication7 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string Sql; string C

c# 查询sql数据库中数据显示对象未实例化的问题

问题描述 c# 查询sql数据库中数据显示对象未实例化的问题 c#查询sql数据库中的数据,catch语句在if(reader.Read()==false)提示未将对象实例化, 注饰掉这句话后,catch语句在while(reader.read())捕捉到同样的错误, 修饰掉这句话后, 在item.text=reader["id"].tostring() 报同样的错误 解决方案 reader有没有初始化? reader = cmd.ExecuteReader(); 有没有这一句 解决方

android-oracle同一数据库中怎样将一个用户下的表导入或复制到另一个 用户中

问题描述 oracle同一数据库中怎样将一个用户下的表导入或复制到另一个 用户中 ** oracle同一数据库中怎样将一个用户下的表导入或复制到另一个 用户中** 解决方案 oracle把一个用户的表数据复制到另一个用户oracle把一个用户下数据库对象的某个权限赋给另一个用户Oracle当前数据库用户访问另一个用户的表 解决方案二: exp owner=a imp fromuser=a touser=b 解决方案三: exp file=路径 full=y owner=用户1 imp fromu

nsarray-从数字中得到指定值并在表视图显示

问题描述 从数字中得到指定值并在表视图显示 有一个数组,然后所有值都保存在arraypartno中,我将那个指定的值放在标签中,还要在单元中像PARTNUMBER一样显示: 代码: for (int i =0 ; i<[arrData count]; i++) { [arraypartno addObject:[[arrData objectAtIndex:i] valueForKey:@"Condition"]]; [arraypartno addObject:[[arrDat

管理-数据库中 我如何设计用户权限表

问题描述 数据库中 我如何设计用户权限表 有三个用户 学生,教师,管理员 如何设计权限,我有个表 字段名 有 编号,账号,密码 解决方案 如果你想简单,老师能做的事情管理员一定能做,学生能做的事情老师一定能做,是这种包含的关系,那么只需要一个表示权限的整数就可以了. 比如3=管理员 2=老师 1=学生 0=没有登录的用户 而你的不同操作,分别指定所需要的权限,然后和这个表里的数字比较,大,就不执行,小于等于就执行. 解决方案二: 以上的回答都很有道理,但是我还是感觉不妥,我认为,在数据库中建立了

求C#代码!!关于从Excel表中将数据导入Access数据库,以及Access数据库中的数据导出到Excel表的代码。急!!!晚上就得交差啊

问题描述 我需要从Excel表中将数据导入Access数据库,以及Access数据库中的数据导出到Excel表的代码,越具体越好!!望各位高手能不吝赐教 解决方案 解决方案二:不会吧?难道世间真的是如此残忍?为什么没人理我啊?高手们,算小弟我求你们了!难道是分不够多吗?初出江湖实在是身无分文啊----就不要太在意这个了,好不好啊?给我写写吧,万分感谢了!!解决方案三:这里是利用officeapplication方式来操作excel的http://blog.csdn.net/fangxinggoo