数据库怎么啦

aierong 2003-08-25 03:16:50
表a里面现有如下记录:
ids names
---------- ----------
1 a
2 b
'3' 'c'

创建存储过程
create proc proc_1
@name varchar(10)
as
declare @sql varchar(8000)
select @sql='select * from a where names=''' + @name + ''''
print @sql
exec(@sql)


declare @i varchar(100)
set @i='a'
exec proc_1 @i
正确

但是要查询'c',就不对了,怎么办
declare @i varchar(100)
set @i='''c'''
exec proc_1 @i
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
happydreamer 2003-08-25
  • 打赏
  • 举报
回复
这样写才能查处数据
select * from table where names ='''c'''

放到过程里再要加上一对引号
aierong 2003-08-25
  • 打赏
  • 举报
回复
怎么办
麻烦大家解释一下
aierong 2003-08-25
  • 打赏
  • 举报
回复
set @i='''''c'''''
为什么会这样

set @i='''c'''
这样为什么不对
不是2个单引号代表1个单引号
pengdali 2003-08-25
  • 打赏
  • 举报
回复
declare @i varchar(100)
set @i='''''c'''''
exec proc_1 @i

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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