Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

SQL火眼金睛之众里寻她

时 间:2011-11-28 00:00:00
作 者:乐乐   ID:16755  城市:北京
摘 要:用SQL的朋友也许会用的到,查询数据库中某个值所在位置

正 文:

复制如下代码到查询分析器运行即可

Create PROCEDURE [dbo].[SP_LookFor]
(
    @value VARCHAR(1024)
)       
AS
BEGIN

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

执行上面的代码,再执行下面的要查找的代码


exec  sp_LookFor  张三              --如执行要查找的值是张三



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助