W SQL Server 2005 próbuję dowiedzieć się, dlaczego nie mogę wstawić wielu pól do tabeli. Następująca kwerenda, która wstawia jeden rekord, działa bez zarzutu:Wstawianie wielu wartości za pomocą INSERT INTO (SQL Server 2005)
INSERT INTO [MyDB].[dbo].[MyTable]
([FieldID]
,[Description])
VALUES
(1000,N'test')
Jednak następujące kwerendy, która określa więcej niż jedną wartość, nie:
INSERT INTO [MyDB].[dbo].[MyTable]
([FieldID]
,[Description])
VALUES
(1000,N'test'),(1001,N'test2')
otrzymuję komunikat:
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near ','.
Kiedy przejrzałem pomoc dla INSERT w SQL Sever Management Studio, jeden z ich przykładów pokazał użycie składni "Values", której użyłem (z grupami wartości w nawiasach i oddzielonymi przecinkami). Dokumentacja pomocnicza znaleziona w SQL Server Management Studio wygląda tak, jak na SQL Server 2008, więc może to jest przyczyną tego, że wstawka nie działa. Tak czy inaczej, nie mogę zrozumieć, dlaczego to nie zadziała.
tylko ciekaw czy próbowałeś go bez '' pomiędzy zestawami wartości? Wiem, że ten post jest dość stary, ale jestem ciekawy. Znalazłem to, gdy szukałem odpowiedzi, a większość mojej wiedzy SQL jest w ciągu ostatnich kilku lat. – Malachi
możliwy duplikat [Jak wstawić wiele wierszy BEZ powtarzania części "INSERT INTO dbo.Blah" instrukcji?] (Http://stackoverflow.com/questions/2624713/how-do-i-insert-multiple- wiersze bez powtarzania wstawki do części dbo-blah) –