请问这样的一个"存储过程"该如何设计?
存储过程如下:
/* 将部分用户设置为离线 */
ALTER PROC Sp_SetSomeUserToOff
@userids nvarchar(4000)
AS
UPDATE UserInfo
SET Online = 0,Status = 4
WHERE Usernumber in (@userids)
那么我该如何调用?
Sp_SetSomeUserToOff 1001,1002 -- 参数太多
Sp_SetSomeUserToOff '1001,1002 ' -- 数据类型错误
该如何解决该问题?
[解决办法]
ALTER PROC Sp_SetSomeUserToOff
@userids nvarchar(4000)
AS
declare @str nvarchar(5000)
set @str = 'UPDATE UserInfo
SET Online = 0,Status = 4
WHERE Usernumber in ( ' + @userids + ') '
exec @str