存储过程引号处理

12312313aaaaaa 2018-03-12 04:59:38
ALTER procedure [dbo].[pro_slt_TCCL011421]
@Pdno nvarchar(20),
@cjdate nvarchar(20),
@strSql nvarchar(100)
as
begin
if @strSql !=''
begin
select *
from tccl01142 with(nolock)
where cjmk='0'
and cjdate=@cjdate
and Pdno like @Pdno + @strSql --这里的参数有引号
end
else
begin
select * from tccl01142 with(nolock)
where cjmk='0'
and cjdate=@cjdate
and Pdno like @Pdno
end
end

exec pro_slt_TCCL01142 'CPRG7628%','20180312',' and 1=1'
就是@strSql这里的引号怎么处理,参数不能更改
...全文
714 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2018-03-12
  • 打赏
  • 举报
回复
有引号就类似: ' '' abc ' 一个单引号变两个单引号。 不能改就: replace(参数,'''','''''' ) 其实最正规的做法是用动态SQL, 全部传实际参数

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧