我有类似这样的代码:
DECLARE @IdentificationNumber INT
DECLARE @Foreign_ID BIGINT
IF ((SELECT COUNT(*) FROM [main-table] WHERE [identification-number] = @IdentificationNumber) > 0)
SET @Foreign_ID = (SELECT [Foreign_ID] FROM [main-table] WHERE [identification-number] = @IdentificationNumber)
BEGIN
UPDATE [main-table]
SET [column1] = '', [column2] = '', [column3] = ''
WHERE [Foreign_ID] = @Foreign_ID
END
BEGIN
UPDATE [table2]
SET [column4] = '', [column5] = '', [column6] = ''
WHERE [Foreign_ID] = @Foreign_ID
END
BEGIN
UPDATE [table3]
SET [column7] = '', [column8] = '', [column9] = ''
WHERE [Foreign_ID] = @Foreign_ID
END
-- and so on, up to 14
ELSE -- "Incorrect syntax near 'ELSE'.
BEGIN
INSERT into ... -- blah blah blah.
END
Run Code Online (Sandbox Code Playgroud)
...但我在尝试使用时遇到错误ELSE:Incorrect syntax near 'ELSE'.
Pரத*_*ீப் 13
IF - Else 语法是
If condition
begin
--statement
end
else
begin
--statement
end
Run Code Online (Sandbox Code Playgroud)
在你的查询之后,首先IF statement你Begin - End需要将所有那些语句包含在一个语句中Begin - End.喜欢
IF ((SELECT COUNT(*) FROM [main-table] WHERE [identification-number] = @IdentificationNumber) > 0)
Begin -- Missing
SET @Foreign_ID = (SELECT [Foreign_ID] FROM [main-table] WHERE [identification-number] = @IdentificationNumber)
BEGIN
UPDATE [main-table]
SET [column1] = '', [column2] = '', [column3] = ''
WHERE [Foreign_ID] = @Foreign_ID
END
BEGIN
UPDATE [table2]
SET [column4] = '', [column5] = '', [column6] = ''
WHERE [Foreign_ID] = @Foreign_ID
END
BEGIN
UPDATE [table3]
SET [column7] = '', [column8] = '', [column9] = ''
WHERE [Foreign_ID] = @Foreign_ID
END
END -- Missing
else
....
Run Code Online (Sandbox Code Playgroud)