declare @ids varchar(40)
SELECT @ids='9d16d6b9-72bf-4935-9366-02dbd0d7d4d3'
exec('delete Article where ar_id in ('+@ids+')')
死活报错语法错误.无法执行.. 同一段语句 如果IDS是INT类型 就正常运作了...求解释.快要崩溃了
SQL EXEC 无法执行的问题
答案:3 悬赏:30 手机版
解决时间 2021-03-09 09:28
- 提问者网友:疯子也有疯子的情调
- 2021-03-09 00:46
最佳答案
- 五星知识达人网友:街头电车
- 2021-03-09 01:28
你这样执行在数据库中会变成执行
delete Article where ar_id in(9d16d6b9-72bf-4935-9366-02dbd0d7d4d3)
这样就报错了,拼接的话要在字符串里面也拼进去单引号
单引号的输出比较特殊,两个当一个用
SELECT @ids='''9d16d6b9-72bf-4935-9366-02dbd0d7d4d3'''
你再试试
delete Article where ar_id in(9d16d6b9-72bf-4935-9366-02dbd0d7d4d3)
这样就报错了,拼接的话要在字符串里面也拼进去单引号
单引号的输出比较特殊,两个当一个用
SELECT @ids='''9d16d6b9-72bf-4935-9366-02dbd0d7d4d3'''
你再试试
全部回答
- 1楼网友:夜风逐马
- 2021-03-09 02:40
declare @username nvarchar(50)
set @username='小明'
declare @sql nvarchar(1000)
set @sql='select * from userinfo'
if @username<>''
set @sql=@sql+ 'where [user_name]=''' + @username + ''''
exec(@sql)
- 2楼网友:大漠
- 2021-03-09 01:55
declare @ids varchar(40)
SELECt @ids='9d16d6b9-72bf-4935-9366-02dbd0d7d4d3'
exec('delete Article where ar_id in ('''+@ids+''')')
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯