У меня проблемы с хранимой процедурой (SQL 2005).
У меня есть таблица с именем tbrm_Tags
с двумя столбцами, TagID
и TagName
. Я хочу передать значение TagName
хранимой процедуре, а затем хочу:
- Проверьте, существует ли
Tagname
и возвращает ли он TagID
- Если
Tagname
не существует, я хочу вставить его в таблицу и вернуть TagID
.
Вот хранимая процедура, которую я использую:
@TagID int = null,
@TagName varchar(50)
AS
DECLARE @returnValue int
BEGIN
IF EXISTS (SELECT * FROM tbrm_Tags WHERE TagName = @TagName)
BEGIN
SELECT
TagID
FROM tbrm_Tags
WHERE TagName = @TagName
END
ELSE
BEGIN
IF NOT EXISTS (SELECT * FROM tbrm_Tags WHERE TagName = @TagName)
INSERT INTO tbrm_Tags
(
TagName
)
VALUES
(
@TagName
)
SELECT @returnValue = @@IDENTITY
END
END
RETURN @returnValue
Я не могу заставить оператор select возвращать TagID
, когда существует Tagname
.