ввода как 111111
и 101,102,103,104
преобразования не удалось в курсора в хранимой процедуре
Я хочу, чтобы проверить, имеет ли пользователь доступ на этом запросы или нет ...
Я попробовал курсор, как показано на рисунке, но я получаю это ошибка:
Conversion failed when converting the varchar value '101,102,103,104' to data type 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
Спасибо dvance
Вы не можете автомагически расширить VARCHAR в элементы списка. – muhmud