...
CREATE PROC TagMe(@TagName VARCHAR(100),@TaggedRecordId INT)
AS
DECLARE @TagId INT
SET @TagId = SELECT TagId FROM Tag WHERE TagName = @TagName
IF @TagId IS NOT NULL
BEGIN
INSERT INTO TaggedRecords (TagId, TaggedRecordId) VALUES(@TagId,@TaggedRecordId)
RETURN
END
ELSE
BEGIN
INSERT INTO Tag (TagName) OUTPUT inserted.id INTO @TagId VALUES(@TagName)
INSERT INTO TaggedRecords (TagId, TaggedRecordId) VALUES(@TagId,@TaggedRecordId)
RETURN
END
, :)
OUTPUT .
EXISTS...
CREATE PROC TagMe(@TagName VARCHAR(100),@TaggedRecordId INT)
AS
DECLARE @TagId INT
IF EXISTS(SELECT TagId FROM Tag WHERE TagName = @TagName)
BEGIN
SET @TagId = SELECT TagId FROM Tag WHERE TagName = @TagName
INSERT INTO TaggedRecords (TagId, TaggedRecordId) VALUES(@TagId,@TaggedRecordId)
RETURN
END
ELSE
BEGIN
INSERT INTO Tag (TagName) OUTPUT inserted.id INTO @TagId VALUES(@TagName)
INSERT INTO TaggedRecords (TagId, TaggedRecordId) VALUES(@TagId,@TaggedRecordId)
RETURN
END
( , , - " "!). , EXISTS , , EXISTS, SELECT.
, - :)