查询整个数据库中某个特定值所在的表和字段的方法
来源:互联网 发布:云计算的前景 编辑:程序博客网 时间:2024/04/30 14:35
有时候我们想通过一个值知道这个值来自数据库的哪个表以及哪个字段,在网上搜了一下,找到一个比较好的方法,通过一个存储过程实现的。只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名。
前提是要将这个存储过程放在所查询的数据库。
CodeCREATEPROCEDURE[dbo].[SP_FindValueInDB]
(
@valueVARCHAR(1024)
)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNTON;
DECLARE@sqlVARCHAR(1024)
DECLARE@tableVARCHAR(64)
DECLARE@columnVARCHAR(64)
CREATETABLE #t (
tablename VARCHAR(64),
columnname VARCHAR(64)
)
DECLARE TABLESCURSOR
FOR
SELECT o.name, c.name
FROM syscolumns c
INNERJOIN sysobjects oON c.id= o.id
WHERE o.type='U'AND c.xtypeIN (167,175,231,239)
ORDERBY o.name, c.name
OPEN TABLES
FETCHNEXTFROM 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)
FETCHNEXTFROM TABLES
INTO@table,@column
END
CLOSE TABLES
DEALLOCATE TABLES
SELECT*
FROM #t
DROPTABLE #t
End
(
@valueVARCHAR(1024)
)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNTON;
DECLARE@sqlVARCHAR(1024)
DECLARE@tableVARCHAR(64)
DECLARE@columnVARCHAR(64)
CREATETABLE #t (
tablename VARCHAR(64),
columnname VARCHAR(64)
)
DECLARE TABLESCURSOR
FOR
SELECT o.name, c.name
FROM syscolumns c
INNERJOIN sysobjects oON c.id= o.id
WHERE o.type='U'AND c.xtypeIN (167,175,231,239)
ORDERBY o.name, c.name
OPEN TABLES
FETCHNEXTFROM 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)
FETCHNEXTFROM TABLES
INTO@table,@column
END
CLOSE TABLES
DEALLOCATE TABLES
SELECT*
FROM #t
DROPTABLE #t
End
- 查询整个数据库中某个特定值所在的表和字段的方法
- 查询整个数据库中某个特定值所在的表和字段的方法
- 查询整个数据库中某个特定值所在的表和字段的方法
- 查询整个数据库中某个特定值所在的表和字段的方法
- 查询整个数据库中某个特定值所在的表和字段的方法
- 查询整个数据库中某个特定值所在的表和字段的方法
- 查询整个数据库中某个特定值所在的表和字段的方法
- 查询整个数据库中某个特定值所在的表和字段的方法
- 查询整个数据库中某个特定值所在的表和字段的方法
- 查询整个数据库中某个特定值所在的表和字段的方法
- mysql查询某个特定值在整个数据库中所在的表和字段的方法
- SQLSERVER查询整个数据库中某个特定值所在的表和字段的方法
- 查询整个数据库中某个特定值所在的表和字段(存储过程)
- 查看数据库中的字段所在的表中或某值所在的表和字段
- mysql查询某个数据库中某个表的所有字段名、字段类型和注释
- 查找mysql数据库中所有包含特定名字的字段所在的表
- 查找mysql数据库中所有包含特定名字的字段所在的表
- 查询字符串所在的表和字段
- ExtJS Grid中文字链接点击事件的更合理的处理办法
- usb probe
- Silverlight写错误日志
- 在Fedora14系统上挂载A8 开发版 详细过程 及问题解决 (接上篇,nfs挂载步骤之二)
- C#简单的记录
- 查询整个数据库中某个特定值所在的表和字段的方法
- struts-config.xml配置文件
- 老是找不的adb设备
- js基础:windows.ResizeTo()方法使用示例
- COM组件开发实践(八)---多线程ActiveX控件和自动调整ActiveX控件大小(下)
- 防止群发邮件进垃圾箱的几种方法
- PostgreSql查看索引
- Silverlight网站IIS部署问题
- 七步完成Android Webview图片加载