sprawieNie można ustawić IDENTITY_INSERT w partii
Obecnie pracuję nad bazy wysiewu skryptu, wykonany z sqlcmd
. Na przykład ten przykładowy skrypt:
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
Problem
Jednak gdybym go wykonać z sqlcmd
trybie w SQL Server Management Studio, to daje mi ten błąd:
Msg 102, Poziom 15, Stan 1, Wiersz 5 Niepoprawna składnia w pobliżu "WŁ.".
Msg 102, Poziom 15, Stan 1, Wiersz 10 Niepoprawna składnia w pobliżu "KONIEC".
Wyszukałem niektóre z nich, ale nie mogę określić, co robię źle. Bez IF/BEGIN/END, jeśli działa, ale najpierw chciałbym wykonać test.
Pytania:
- coś robię źle?
- Jeśli to niemożliwe, dostępne obejście jest dostępne?
Z góry dziękuję !!
Usuń GO po zestaw identity_insert (...) –
Czy działa bez "GO"? –
Och, to było głupie ... teraz działa, dlaczego GO nie jest teraz potrzebny? –