Falsche syntax in der Nähe ','
INSERT INTO [Temp].[dbo].[Student]
([Fname], [Lname], [Gender])
VALUES
(N'Aname', N'Alname', N'Male')
GO
Diese codes arbeitet einwandfrei, aber wenn ich versuche, um mehrere Werte gibt es mir einen Fehler
Error: Incorrect syntax near ','.
USE TEMP
GO
INSERT INTO [Temp].[dbo].[Student]
([Fname], [Lname], [Gender])
VALUES
(N'Aname', N'Alname', N'Male'),
(N'Bname', N'Blname', N'Male')
GO
Sind Sie sicher, Sie haben kodiert, die in der Abfrage genau so, wie Sie es zu benutzen? Es funktioniert gut auf meinem Rechner... Oder rennst du gegen eine SQL2005-Instanz
Sind Sie sicher, dass Sie ausführen, auf dem SQL Server 2008? Was bedeutet
Im mit Sql Server 2008 WÄHLEN Sie @@VERSION gibt Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Feb 9 2007 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Express Edition on Windows NT 6.1 (Build 7601: Service Pack 1)
das ist nicht Ihr login Seite, das ist nur die version des client-tool, das Sie auf Ihrem Computer installiert sind. Es muss nicht die gleiche sein, wie die Server, die Sie verwalten (nach allem, wie würde das funktionieren, wenn Sie haben zu verwalten, 2000, 2005 und 2008-Instanz?), aber es sollte >= höchste version, die Sie haben, zu verwalten. Sie können die 2005-version wenn Sie wollen, um "stimmig", aber ich kann nicht sehen, warum würden Sie wollen, zu tun. Wenn Sie möchten, verwenden Sie den SQL-Server 2008+ - syntax, die "Update" zu aktualisieren, die server , 2008+, nicht das client-tool die gleiche version wie der server.
Sind Sie sicher, dass Sie ausführen, auf dem SQL Server 2008? Was bedeutet
SELECT @@VERSION
zurück?Im mit Sql Server 2008 WÄHLEN Sie @@VERSION gibt Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Feb 9 2007 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Express Edition on Windows NT 6.1 (Build 7601: Service Pack 1)
9.00
SQL Server 2005. Es sagt sogar SQL Server 2005
in dem, was du gepostet hast.das ist nicht Ihr login Seite, das ist nur die version des client-tool, das Sie auf Ihrem Computer installiert sind. Es muss nicht die gleiche sein, wie die Server, die Sie verwalten (nach allem, wie würde das funktionieren, wenn Sie haben zu verwalten, 2000, 2005 und 2008-Instanz?), aber es sollte >= höchste version, die Sie haben, zu verwalten. Sie können die 2005-version wenn Sie wollen, um "stimmig", aber ich kann nicht sehen, warum würden Sie wollen, zu tun. Wenn Sie möchten, verwenden Sie den SQL-Server 2008+ - syntax, die "Update" zu aktualisieren, die server , 2008+, nicht das client-tool die gleiche version wie der server.
InformationsquelleAutor Ebeen | 2012-07-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zur Nutzung der multi-Zeile
VALUES(),()
syntax, die Sie brauchen, um mit SQL Server 2008 (oder neuer).Da Sie dem SQL Server 2005 ausgeführt wird, müssen Sie separate insert-statements einzufügen, verwenden Sie UNION/UNION ALL, oder aktualisieren Sie die Instanz (die getrennt von Management Studio, das ist nur ein client-Werkzeug, das Sie verwenden, um die Verbindung zu Instanzen einer beliebigen Anzahl von Versionen von SQL Server).
Ich würde auch wie die syntax für diese bitte
InformationsquelleAutor Aaron Bertrand
Können Sie es auf diese Weise:
etc etc
Dank
Paul.
Aber das problem ist nicht die syntax, für alle, die mit SQL Server 2008
VALUES
ist in der Regel bevorzugt überUNION
. Das problem ist, die OP nicht auf SQL Server 2008.ja, sammelte ich, dass, so dass, anstatt zu stagnieren, Ihre Entwicklung, denn eine Funktion ist nicht verfügbar, verwenden Sie die legacy-Methode, es zu tun.
Dies ist eine wertvolle. Danke, @PaulG. Wie bewegen wir uns von legacy-Systemen in die cloud, wir gehen zu berühren, die zuvor ungestörte Daten. Diese Frage und Ihre Antwort(en) waren sehr hilfsbereit und eine Mahnung über db-Fähigkeit.
InformationsquelleAutor PaulG