sql问题 insert into xx where id in()问题

hhhhhhhfds224 2010-08-04 11:37:47
存储过程中:
insert into xx where id in(@id)
@id nvarchar(80)被传入"1,34,12,34,53"
报错,
怎么才能合理的解决这样的问题呢?
...全文
899 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
永生天地 2010-08-04
  • 打赏
  • 举报
回复
结果

id df
----------- --------------------------------------------------------------------------------
1 a
2 a
3 a
4 awdfsadf
5 awdfsadf
6 awdfsadf
7 a
8 a
9 a
永生天地 2010-08-04
  • 打赏
  • 举报
回复
其他方法
create table aa_20100804
(
id int identity(1,1),
df nvarchar(80)
)
declare @id nvarchar(80)
set @id ='4,5,6'
declare @df nvarchar(80)
set @df='dfdd'
update aa_20100804 set df='awdfsadf' where charindex( ','+ltrim(id)+',',','+@id+',')>0
--或者
--update aa_20100804 set df='awdfsadf' where ','+@id+',' like '%,'+ltrim(id)+',%'
insert into aa_20100804(df) values('a')
select * from aa_20100804
永生天地 2010-08-04
  • 打赏
  • 举报
回复
exec('update aa_20100804 set df=''awdfsadf'' where id in('+@id+')')

''转义成一个 '
hhhhhhhfds224 2010-08-04
  • 打赏
  • 举报
回复
create table aa_20100804
(
id int identity(1,1),
df nvarchar(80)
)
declare @id nvarchar(80)
set @id ='4,5,6'
declare @df nvarchar(80)
set @df='dfdd'
exec('update aa_20100804 set df=0 where id in('+@id+')')
insert into aa_20100804(df) values('a')
select * from aa_20100804

------------------------------------------
现在遇到一个问题就是
exec('update aa_20100804 set df=(这个地方不能写英文字符) where id in('+@id+')')
zrong 2010-08-04
  • 打赏
  • 举报
回复
exec('insert into xx where id in('+@id+')')
wangxianshou 2010-08-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wangxianshou 的回复:]
你需要把参数拆分出来,循环处理
[/Quote]

看错了,以为是把ID 输入表里面呢
作为查询条件的话,拼接成动态sql
就可以了
hao1hao2hao3 2010-08-04
  • 打赏
  • 举报
回复
而且还要注意变量的拼接(用连接符“+”)
hao1hao2hao3 2010-08-04
  • 打赏
  • 举报
回复
动态的SQL语句要有exec()来执行的。
wangxianshou 2010-08-04
  • 打赏
  • 举报
回复
你需要把参数拆分出来,循环处理
水族杰纶 2010-08-04
  • 打赏
  • 举报
回复
exec('insert into xx where id in('+@id+')')
华夏小卒 2010-08-04
  • 打赏
  • 举报
回复
exec('insert into xx where id in('+@id+')')
hhhhhhhfds224 2010-08-04
  • 打赏
  • 举报
回复
在mssql内部该解决?

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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