sql 存储过程报错。我想把它写成一个模糊搜索的存储过程。

createprocproc_SearchEmployeeNameFrom_trv_1(@Keywordvarchar(100),@OUIDuniqueidentifie... create proc proc_SearchEmployeeNameFrom_trv_1
(
@Keyword varchar(100),
@OUID uniqueidentifier
)
as
select distinct EmployeeName, EmployeeNo, MobileNo, Email
from tbOUEmployee, tbOUOrganization
where (EmployeeName like '%'+@Keyword+'%'or EmployeeNo '%'+,@Keyword+'%')
and (tbOUEmployee.OUID = @OUID and tbOUEmployee.OUID = tbOUOrganization.OUID)

报错:消息 102,级别 15,状态 1,过程 proc_SearchEmployeeNameFrom_trv_1,第 9 行
'%' 附近有语法错误
展开
 我来答
hanqi0323
2011-07-22 · TA获得超过1065个赞
知道小有建树答主
回答量:1198
采纳率:0%
帮助的人:1041万
展开全部
declare @sql varchar(200),
SET @SQL='select distinct EmployeeName, EmployeeNo, MobileNo, Email
from tbOUEmployee, tbOUOrganization
where (EmployeeName like '%' '+@Keyword+''%'or EmployeeNo '%'+,@Keyword+'%') and (tbOUEmployee.OUID = @OUID and tbOUEmployee.OUID = tbOUOrganization.OUID) '
exec @sql
带变量的只能用扩展SQL
百度网友5ba75e4
2011-07-22 · TA获得超过2045个赞
知道大有可为答主
回答量:1775
采纳率:60%
帮助的人:975万
展开全部
create proc proc_SearchEmployeeNameFrom_trv_1
(
@Keyword varchar(100),
@OUID uniqueidentifier
)
as
declare @mysql varchar(5000)
set @mysql=N'select distinct EmployeeName, EmployeeNo, MobileNo, Email
from tbOUEmployee, tbOUOrganization
where (EmployeeName like '%''+@Keyword+''%'or EmployeeNo '%''+@Keyword+''%')
and (tbOUEmployee.OUID ='+@OUID+' and tbOUEmployee.OUID = tbOUOrganization.OUID)'
exec (@sql)
只能用动态执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miallxia
2011-07-22 · TA获得超过670个赞
知道小有建树答主
回答量:1955
采纳率:100%
帮助的人:855万
展开全部
EmployeeName like '%'+@Keyword+'%'or EmployeeNo '%'+,@Keyword+'%' 少了like吧?
EmployeeName like '%'+@Keyword+'%'or EmployeeNo like '%'+,@Keyword+'%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式