当前位置:首页 > SQL

如何根据值查找所在的表和字段

happyfhb11年前 (2015-08-15)SQL2405
摘要:DECLARE @what varchar(800) SET @what='178' --要搜索的字符串  DECLARE @sql varchar(8000)  DECLARE …
DECLARE @what varchar(800)
SET @what='178' --要搜索的字符串 

DECLARE @sql varchar(8000) 

DECLARE TableCursor CURSOR LOCAL FOR
SELECT sql='IF EXISTS ( SELECT 1 FROM ['+o.name+'] WHERE ['+c.name+'] LIKE ''%'+@what+'%'' ) PRINT ''所在的表及字段:['+o.name+'].['+c.name+']'''
FROM syscolumns c JOIN sysobjects o ON c.id=o.id 

-- 175=char 56=int 可以查 select * from sys.types 
WHERE o.xtype='U' AND c.status>=0 AND c.xusertype IN (175, 239, 231, 167 ) 

OPEN TableCursor 

FETCH NEXT FROM TableCursor INTO @sql
WHILE @@FETCH_STATUS=0
BEGIN
    EXEC( @sql )
    FETCH NEXT FROM TableCursor INTO @sql
END 

CLOSE TableCursor 

-- 删除游标引用
DEALLOCATE TableCursor



扫描二维码推送至手机访问。

版权声明:本文由海海日记-冯海滨博客发布,如需转载请注明出处。

本文链接:http://www.fenghaibin.com/?id=1192

“如何根据值查找所在的表和字段” 的相关文章

sql trim()函数去掉两头空格

1.sql trim()函数去掉两头空格sql语法中没有直接去除两头空格的函数,但有ltrim()去除左空格rtrim()去除右空格。合起来用就是sql的trim()函数,即select ltrim(rtrim(UsrName))2.distinct 选择多列,其中一列不能重复,其他列取最大值。Go…

sql2000 CDkey 万用的sql2000 cdkey

H6TWQ-TQQM8-HXJYG-D69F7-R84VM…

查看SQL Server版本号(2005 & 2008)

 方法一: select serverproperty('productversion') ,serverproperty('productlevel') ,serverproperty('edition') 输出:…

SQL2008和sql2008 r2有什么区别

 首先从不同的角度来说1 如果你是VS2008 则配合良好的是 SQL 2008 而不是 SQL 2008R2.2 如果是 VS2010 则配合良好的是2008R23 SSRS&n…

使用sql server management studio 2008 连接数据库,无法查看数据库,提示 无法为该请求检索数据 错误916

使用sql server management studio 2008 连接数据库,无法查看数据库,提示 无法为该请求检索数据 错误916

今日使用sql server management studio 2008 连接远程数据库,可以链接上,但是无法查看自己的数据库,点击数据库后,提示 无法为该请求检索数据 错误916 解决方法如下点击左侧的数据库,然后到右侧的 “名称”注意 如果点击 没有出现对象自愿管理器 请按F7  然…

无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象解决方法

无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象解决方法发现根本原因了:management studio--->服务器对象-->链接服务器-->Micros…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。