IT技术网www.itjs.cn

当前位置:首页 > 数据库 > SQl Server > SQL Server查询所有表之中包含该字段的方法

SQL Server查询所有表之中包含该字段的方法

发布时间:2010-11-09 12:09 来源:未知

SQL Server查询可以实现很多的功能,下面为您介绍的是SQL Server查询所有表之中包含该字段的方法,希望对您学习SQL Server查询方面能有些许的帮助。

从系统表自动生成sql语句来运行得到结果

select a.name as columnname,object_name(a.id)as tablename into t from syscolumns a,

sysobjects b,

systypes c

where a.id=b.id 

and a.xtype=c.xtype

and b.xtype='u'

and c.name in('varchar','nvarchar','char','nchar','text','ntext')

and object_name(a.id)<>'t'

go

create function udf_genSQL(@tableName varchar(1000),@keyword varchar(1000))

returns varchar(8000)

as

begin

declare @sql varchar(8000)

set @sql='select * from '+@tableName +' where 1=1 '

select @sql=@sql+' or '+

  columnname +' like ''%'+@keyword+'%''' from t

where tablename=@tablename

return @sql

end

go

select dbo.udf_genSQL(tableName,'a') from t group by tablename

drop table t

drop function dbo.udf_genSQL