Case
В настоящее время я работаю над сценарием заполнения базы данных, выполняемым с помощью sqlcmd
. Например, этот пример сценария:
IF (SELECT COUNT(*) FROM Genders)=0
BEGIN
PRINT N'Seeding table Genders...'
SET IDENTITY_INSERT Genders ON
GO
INSERT INTO Genders (GenderId, Description) VALUES (0, 'Onbekend');
INSERT INTO Genders (GenderId, Description) VALUES (1, 'Vrouw');
INSERT INTO Genders (GenderId, Description) VALUES (2, 'Man');
INSERT INTO Genders (GenderId, Description) VALUES (3, 'Onzijdig');
INSERT INTO Genders (GenderId, Description) VALUES (4, 'Vrouwman');
INSERT INTO Genders (GenderId, Description) VALUES (5, 'Manvrouw');
SET IDENTITY_INSERT Genders OFF
END
GO
Проблема
Однако, если я выполняю его в режиме sqlcmd
в SQL Server Management Studio, он выдает следующие ошибки:
Сообщение 102, уровень 15, состояние 1, строка 5 Неверный синтаксис рядом с «ON».
Сообщение 102, уровень 15, состояние 1, строка 10 Неверный синтаксис рядом с 'END'.
Погуглил, но не могу понять, что я делаю не так. Без IF/BEGIN/END if работает, но мне нравится сначала выполнять проверку.
Вопросы:
Заранее спасибо!!