紧急求救!!!!

andy_123 2010-05-13 10:42:56
CREATE PROCEDURE SP_DeleteMultiMessage
@ID nvarchar(500) ,
@UserID INT
AS
DELETE FROM MessageReceiveList where RecID in(@ID)
end
上面的SP是用户删除多条记录,@ID 是以逗号分割的多个记录ID
执行会报错:
将 nvarchar 值 '584,583'转换为数据类型为 int 的列时发生语法错误
 
如何解决这个问题?
...全文
47 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sql_sf 2010-05-13
  • 打赏
  • 举报
回复
CREATE PROCEDURE SP_DeleteMultiMessage
@ID nvarchar(500) ,
@UserID INT
AS
exec('DELETE FROM MessageReceiveList where RecID in('+@ID+')')
sql_sf 2010-05-13
  • 打赏
  • 举报
回复
CREATE PROCEDURE SP_DeleteMultiMessage
@ID nvarchar(500) ,
@UserID INT
AS
DELETE FROM MessageReceiveList where charindex(','+ltrim(RecID)+',',','+@ID+',')>0
end

22,209

社区成员

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

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