我有一个查询要首先检查是否存在某些东西。如果是,请在表变量中插入一些内容。否则,将其他内容插入同一表变量中。
IF NOT EXISTS (SELECT 1 FROM @Main WHERE CustomerId = @CustomerId)
(
BEGIN
INSERT INTO @Result
SELECT ....
FROM ...
WHERE...
END
)
ELSE
INSERT INTO @Result
SELECT ....
FROM ...
WHERE...
出于某种原因,我不断在NOT EXISTS
条件下抱怨下面的错误... ELSE部分完全没问题。
关键字“ BEGIN”附近的语法不正确
')'附近的语法不正确
'@Result'附近的语法不正确
我在哪里做错了?
答案 0 :(得分:4)
括号不属于BEGIN
/ END
:
IF NOT EXISTS (SELECT 1 FROM @Main WHERE CustomerId = @CustomerId)
BEGIN
INSERT INTO @Result
SELECT .... FROM ... WHERE...
END
ELSE . . .
我还建议您为@Result
列出INSERT
的列。这样可以避免将来出现问题。
答案 1 :(得分:2)
尝试
IF NOT EXISTS (SELECT 1 FROM @Main WHERE CustomerId = @CustomerId)
BEGIN
INSERT INTO @Result
SELECT .... FROM ... WHERE...
END
ELSE
BEGIN
INSERT INTO @Result
SELECT .... FROM ... WHERE...
END