查找sqlserver数据库中某一字段在 哪

   有时候我们想通过一个值知道这个值来自数据库的哪个表以及哪个字段,在网上搜了一下,找到一个比较好的方法,通过一个存储过程实现的。只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名。

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

  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

时间: 2025-01-20 18:27:27

查找sqlserver数据库中某一字段在 哪的相关文章

代码-如何修改数据库中某一个字段的名称

问题描述 如何修改数据库中某一个字段的名称 我是新手 不会用在c#的wpf里 用代码修改 有没有大神给个代码 解决方案 修改数据库里字段的名称,和c#无关,需要用sql来实现 修改列名 ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN_NAME TO NEW_COLUMN_NAME; 解决方案二: 修改字段就是用sql语句 sqlserver中有sp_rename存储过程http://www.cnblogs.com/ringnet/archive/2

SQLServer数据库中如何保持数据一致性

复制是SQLServer数据库中保持数据一致性的一种手段.根据实现策略的不同,主要有快照复制.事务复制.合并复制等三种类型.这三种复制类型,各有各的特点,分别适用于不同的场合.一般来说,在考虑采用哪种复制类型比较合适的时候,主要考虑的是性能与数据同步的时间间 复制是SQLServer数据库中保持数据一致性的一种手段.根据实现策略的不同,主要有快照复制.事务复制.合并复制等三种类型.这三种复制类型,各有各的特点,分别适用于不同的场合.一般来说,在考虑采用哪种复制类型比较合适的时候,主要考虑的是性能

如何使用JAVASCRIPT从sqlserver数据库中获得数据

javascript|server|sqlserver|数据|数据库 如何使用JAVASCRIPT从sqlserver数据库中获得数据? --------------------------------------------------------------- var conn = new ActiveXObject("ADODB.Connection"); conn.Open("Data Source=190.190.200.100,1433;Initial Catal

C#反编译微软MSDN2003的帮助文档,并将反编译结果保存到一个SQLSERVER数据库中

server|sqlserver|编译|数据|数据库|微软 using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms; namespace MSDNOUT{ /// <summary> /// 反编译微软MSDN2003文档并保存到数据库的程序主窗体 /// </summary> public class dlgM

hibernate-Oracle数据库中新增一个字段,Hibernate中映射怎样加?

问题描述 Oracle数据库中新增一个字段,Hibernate中映射怎样加? 问题:我在oracle数据库中新增一个字段,那么在Hibernate映射中,需要手动加进去吗?在中. 谢谢!! 解决方案 类似这样,第一个name对应实体中,第二个name对应数据库 解决方案二:

java采集网页信息,并获取到所需要的信息存入数据库中对应的字段中去 (可以自动创建表头)

问题描述 java采集网页信息,并获取到所需要的信息存入数据库中对应的字段中去 (可以自动创建表头) "java采集网页信息,并获取到所需要的信息存入数据库中对应的字段中去 "创建好数据库的情况下可以插入对应数据了,现在我想实现自动创建表头,请问如何实现?请各位大大支招^_^ 解决方案 用正则表达式http://www.cnblogs.com/longwu/archive/2011/12/24/2300110.html 解决方案二: 没有你想象中的这么智能,要采集什么网页信息,入到什么

jsp 修改数据库信息-jsp中用户修改表单信息,从而数据库中相应的字段值也update

问题描述 jsp中用户修改表单信息,从而数据库中相应的字段值也update 点击图片1的"修改密码"按钮,会出现图片二的修改密码的表单.这个修改密码是由用户自己修改的,用户修改密码之后,表"userInfo"中的"userPwdz"字段值就相应变化了.我应该怎么写得到用户修改的密码参数,然后update表呢? 新手求指教,麻烦解答一下,感激万分!!!! 解决方案 sql语句写错了,update好像木有 星号,而且参数好像也不应该这样传进去,一般用

js-如何将一组值添加到数据库中的一个字段下 ,

问题描述 如何将一组值添加到数据库中的一个字段下 , 如何将通过条件得到的一组值插入到数据库中的一个字段下,使这个字段下有多个值 解决方案 具体点啊??看不太懂问题..举个例子啊.. 解决方案二: insert into 考生表 (考号) select 考号 from 生成的考号组 解决方案三: 添加一条语句 insert into 考生表 (考号字段) value(生成的考号)

在SQL2008查找某数据库中的列是否存在某个值

--SQL2008查找某数据库中的列是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型:1为文字类型.2为数值类型 @str nvarchar(100)--需要搜索的名字 ) as --创建临时表存放结果 create table #tbl(PK int identity primary key ,tbl sysname,col sysname) declare @tbl nvarchar(300),@col sysname,@sql