当前位置: 代码迷 >> Sql Server >> 怎么在所有用户表中查找所需要的记录
  详细解决方案

怎么在所有用户表中查找所需要的记录

热度:63   发布时间:2016-04-27 14:58:04.0
如何在所有用户表中查找所需要的记录?
在一个数据库中有很多用户表,我想在这些用户表中按条件查找所需要的记录,该怎么做?
比如:我想查找用户编号=001和002的记录都在那些表中存在,这样的SQL 语句该怎样写。

在SQL SERVER 2000环境下。

------解决方案--------------------
用动态语句结合sysobjects表来查询.
------解决方案--------------------
SQL code
--不好意思 掉了个)号declare @name nvarchar(100)declare cur cursor for select name from sysobjects where type = 'U'open curfetch next from cur into @nameWHILE @@FETCH_STATUS = 0begin  declare @sql nvarchar(500),@s varchar(5000)  set @s =''  set @sql='select @s=isnull(@s+''+'','''')+'''''',''''''+''+cast(isnull([''+name+''],'''''''') as varchar)'' from syscolumns where id=object_id([email protected]+''') and xtype in(175,239,99,231,35,167) '    exec sp_executesql @sql,[email protected] varchar(5000) out',@s out  if len(@s) > 0    exec('if exists(select 1 from (select '+ @s+' as col from [[email protected]+']) b where 用户编号 in(''001'',''002'')) print [email protected]+'''')  fetch next from cur into @nameendclose curDEALLOCATE cur
  相关解决方案