首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

SQL Server 在数据库中查找字符串(不知道表名的情况上 查找字符串)

2013-01-05 
SQL Server 在数据库中查找字符串(不知道表名的情况下 查找字符串) 查询Employees这个表中的记录 select *

SQL Server 在数据库中查找字符串(不知道表名的情况下 查找字符串)

 

查询Employees这个表中的记录

 select * from dbo.Employees

 

Org_Id                                                                                                                                                                                                                                                             EmployeeId  EmployeeName                                       Title------------------------------------------------------------------------------------------------------------------ ----------- -------------------------------------------------- --------------------------------------------------0x                                                                                                                                                                                                                                                                 10000       陈希章                                                CEO0x58                                                                                                                                                                                                                                                               10001       张三                                                 CTO0x68                                                                                                                                                                                                                                                               10002       李四                                                 CFO0x5AC0                                                                                                                                                                                                                                                             10003       王五                                                 IT Manager0x5B40                                                                                                                                                                                                                                                             10004       赵六                                                 Manager0x5AD6                                                                                                                                                                                                                                                             10005       洪七                                                 Employee(6 行受影响)

 

测试

同过下面的T-SQL查询 李四 在哪个表中的如下

declare @key varchar(30)set @key = '李四' --替换为要查找的字符串DECLARE @tabName VARCHAR(40),@colName VARCHAR(40)DECLARE @sql VARCHAR(2000)declare @tsql varchar(8000)DECLARE tabCursor CURSOR FORSELECT name from sysobjects WHERE xtype = 'u' AND name <> 'dtproperties'OPEN tabCursorFETCH NEXT from tabCursor INTO @tabNameWHILE @@fetch_status = 0BEGINset @tsql = ''DECLARE colCursor CURSOR FOR Select Name from SysColumns Where id=Object_Id(@tabName) and xtype=167OPEN colCursorFETCH NEXT from colCursor INTO @colNameWHILE @@fetch_status = 0BEGINSET @sql = 'if(exists(select * from ' + @tabName + ' where 'SET @sql = @sql + @colName + ' like ''%' + @key + '%'')) begin select * from 'set @sql = @sql + @tabName + ' where ' + @colName + ' like ''%' + @key + '%'';select '''+ @tabName + ''' as TableName end'set @tsql = @tsql + @sql + ';'FETCH NEXT from colCursor INTO @colNameENDexec(@tsql)CLOSE colCursorDEALLOCATE colCursorFETCH NEXT from tabCursor INTO @tabNameENDCLOSE tabCursorDEALLOCATE tabCursor


 

Org_Id                                                                                                                                                                                                                                                             EmployeeId  EmployeeName                                       Title------------------------------------------------------------------------------------------------------------------ ----------- -------------------------------------------------- --------------------------------------------------0x68                                                                                                                                                                                                                                                               10002       李四                                                 CFO(1 行受影响)TableName---------Employees(1 行受影响)


 

 

 


 

热点排行