Do tabeli chciałem dzisiaj wstawić kilka rekordów 'za jednym zamachem’. Można to zrobić poprzez polecenie:
INSERT Countries VALUES(’EN’, 'England’,1),
(’PL’, 'Poland’,1),
(’G’,’Germany’,1),
(’CDN’,’Canada’,2),
(’USA’,’USA’,2)
Tymczasem pojawia się błąd:
Msg 102, Level 15, State 1, Line 2 Incorrect syntax near ’,’.Błędu nie widzę, albo jestem ślepy ale przepisanie polecenia na pojedyncze INSERT pomogło.
Idziemy dalej. Deklaruje sobie zmienną i od razu ją inicjuję:
DECLARE @CSV VARCHAR(1000) = ”;Znowu bład:
Msg 139, Level 15, State 1, Line 0 Cannot assign a default value to a local variable.Przecież setki razy tak robiłem i działało. Czy mój komputer dzisiaj się buntuje!? Oczywiście przepisanie na 2 linijki pomogło. Można by o sprawie zapomnieć, ale przecież nie może to dać spokoju.
Cóż obie funkcje, których tu użyłem to nowości w SQL 2008. Może wobec tego po prostu podłączyłem się do innego serwera!?
Polecenie
SELECT @@VERSIONzwróciło odpowiedź twierdzącą:
Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86)
Oct 14 2005 00:33:37
Copyright (c) 1988-2005 Microsoft Corporation
Developer Edition on Windows NT 6.1 (Build 7600: )
No to wszystko jasne. Podłączyłem się do serwra w wersji 2005 zamiast 2008.