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或存储过程实现。
我来回答: 一般来说 只要关键字段和关键词 进行 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 '关键词'
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。