输入喜欢111111
和101,102,103,104
我想检查用户是否有权访问此请求...
我尝试了如图所示的光标,但出现此错误:
将 varchar 值“101,102,103,104”转换为数据类型 int 时转换失败。
代码:
ALTER PROCEDURE [dbo].[ValidateRqstId]
@UserID VARCHAR(50),
@RsqtIDs VARCHAR(300)
AS
BEGIN
Declare @RqstId int
Declare @Result int
Declare @UserIDToCheck VARCHAR(50)
Declare @RqstUserVal cursor for
Select RequestId
from REQUEST_LIST
where RequestId in (@RsqtIDs)
BEGIN
OPEN RqstUserVal
FETCH NEXT from RqstUserVal into @RqstId
WHILE(@@fetch_status <> -1)
BEGIN
SET @UserIDToCheck = (
select UserId from dbo.REQUEST_LIST where RequestId = @RqstId)
Print(@UserIDToCheck)
If(@UserIDToCheck != @UserID)
SET @Result = 99 ;
--Fetch the next row from the cursor
FETCH RqstUserVal into @RqstId
END
END
CLOSE RqstUserVal
Deallocate RqstUserVal
RETURN @Result
END
提前致谢