VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: mgs_pexp

存储过程接收多个参数问题 高手请进

[复制链接]

0

主题

5

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-3-28 16:45:01 | 显示全部楼层
SET @sql = 'UPDATE Images SET [Name]=''测试'' WHERE ID IN (' + @idStrings + ')'

@idStrings是哪来的?????? 打错了?

================
确实是打错了,应该是@idString
回复

使用道具 举报

1

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-3-29 11:45:01 | 显示全部楼层
pupupu01写的OK了
完整的无错的存储过程如下:
CREATE PROCEDURE Test
(
@idStringNVARCHAR(1000)--如其值为1,2,3,4,6,7,8,
)
AS
update usertable set username='测试'where charindex(','+rtrim(id)+',' , ','+@idString+',')>0
GO

回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-3-31 12:30:01 | 显示全部楼层
你如果想不在页面循环那就得在存储过程中循环
先把你的id组合成一个字符串赋给存储过程作为其一个参数,然后在存储过程中用while
+charindex做循环
回复

使用道具 举报

0

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-3-31 21:15:01 | 显示全部楼层
在存储过程中拆分字符串感觉比较烦,最好还是在程序中组装字符串比较好。
回复

使用道具 举报

0

主题

29

帖子

19.00

积分

新手上路

Rank: 1

积分
19.00
发表于 2020-4-1 03:30:01 | 显示全部楼层
............................
执行存储过程参数变不变的啊。参数变了,复制也要跟着变哦,呵呵。不然到时候都一样的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表