У меня есть таблица, какКак реализовать эту логику If-Else в транзакции T-SQL?
CREATE TABLE FinishedMappings (
partner_id UNIQUEIDENTIFIER,
survey_id INT,
PRIMARY KEY (partner_id,survey_id),
FOREIGN KEY (partner_id) REFERENCES Partners(id),
FOREIGN KEY (survey_id) REFERENCES Surveys(id)
);
который должен отслеживать людей, которые взяли обследование. Если человек X
не взял опрос Y
, то partner_id=X,survey_id=Y
комбо нет в этой таблице. Я создаю хранимую процедуру, которая обновляется на основе новой информации о том, сделал ли человек конкретный опрос. Как я начал писать это
CREATE PROCEDURE UpdateFinishValue (@partner_id UNIQUEIDENTIFIER,
@survey_id INT,
@finished TINYINT)
AS
IF [finished is equal to 1 and the @partner_id,@survey_id pair isnt in the FinishedMappings db]
INSERT INTO FinishedMappings (partner_id,survey_id) VALUES (survey_id,partner_id)
ELSE
DELETE FROM FinishedMappings WHERE [email protected]_id AND [email protected]_id
GO
, но я не уверен, как реализовать
[finished is equal to 1 and the @partner_id,@survey_id pair isnt in the FinishedMappings db]
часть или если есть более компактный способ написания этого в целом. Любая помощь?
ли 'затем' необходимо? –
@SubparWebDev. , , Нет, это даже не синтаксически правильно. Но я * думаю * «тогда» при написании такой логики;) –