SQL2K查询数据库下所有表和列的生成语句

本文介绍了一段SQL脚本,该脚本用于查询特定类型的列并创建一个用户定义的函数来生成SQL查询语句。通过这个函数可以为指定的表名和关键词生成带有模糊匹配条件的SQL查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 '''+@tableName+''' as 表名,* 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,'/c.js') FROM t GROUP BY tablename
DROP TABLE t
DROP FUNCTION dbo.udf_genSQL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值