欢迎投稿

今日深度:

SQL检查存储过程是否包含关键字,sql存储过程

SQL检查存储过程是否包含关键字,sql存储过程


SELECT A.NAME FROM SYS.ALL_OBJECTS A,SYS.SQL_MODULES B 
WHERE A.IS_MS_SHIPPED=0 AND A.OBJECT_ID = B.OBJECT_ID AND A.[TYPE] IN ('P','V','AF') 
AND [DEFINITION] LIKE '% %'--存储过程包含的关键字
ORDER BY A.[NAME] ASC


sql查询问题(查询所有列中是否有所查的关键字)

按照你的要求一句sql语句是无法完成的。
只能借助数据库的系统表(存储每个表的每个属性列的),写动态sql或存储过程实现。
 

sql 查询所有字段只要包含某关键字的记录

我来回答: 一般来说 只要关键字段和关键词 进行 like比较的,而不会全部字段比较。

至于“会不会导致数据库拒绝执行呢?而且还有效率问题”,建议你写个存储过程吧,执行存储。

如:

go
create procedure GetKeyWordRecord @keyWord varchar(20)
as
set @keyWord = '%' + @keyWord + '%'
select * from 你的表
where
你的字段1 like @keyWord or
你的字段2 like @keyWord or
你的字段3 like @keyWord or
你的字段4 like @keyWord or
你的字段5 like @keyWord --- 更多字段省略
go

exec GetKeyWordRecord '关键词'
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/3166.html NewsArticle SQL检查存储过程是否包含关键字,sql存储过程 SELECT A.NAME FROM SYS.ALL_OBJECTS A,SYS.SQL_MODULES B WHERE A.IS_MS_SHIPPED=0 AND A.OBJECT_ID = B.OBJECT_ID AND A.[TYPE] IN (P,V,AF) AND [DEFINITION] LIKE % %--存储过程包含的...
评论暂时关闭