Я пытаюсь реализовать хранимую процедуру вставки. В принципе, как это работает, stored procedure
проверяет наличие записи или нет, а затем перейдите к выполнению вставки. В качестве индикатора будет использоваться переменная @status
. Однако я обнаружил, что проблема с этим query
заключается в том, что при выполнении query
он вернет результат @status = 1
независимо от того, имеются данные или нет. Однако функция INSERT
в порядке, без проблем, только @status
. Ниже моя реализация:SQL Хранимая процедура IF ELSE логическая ошибка
CREATE PROCEDURE save_proc
(
@userid varchar(10)
@name varchar(30)
)
AS
DECLARE @status int
if exists (SELECT * FROM table1 where userID = @userid AND userName = @name)
SET @status = 0
else
INSERT INTO table1 (userID, userName) VALUES (@userid, @name)
SET @status = 1
SELECT @status