Syntaxe incorrecte près de ','
INSERT INTO [Temp].[dbo].[Student]
([Fname], [Lname], [Gender])
VALUES
(N'Aname', N'Alname', N'Male')
GO
Ce codes workes bien, mais lorsque j'essaie d'ajouter plusieurs valeurs, il me donne une erreur
Erreur: syntaxe Incorrecte près de ','.
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
Êtes-vous sûr que vous avez saisi à la requête tel que vous l'utilisez? Il fonctionne très bien sur ma machine... Ou êtes-vous en cours d'exécution contre un SQL2005 exemple
Êtes-vous sûr que vous êtes en cours d'exécution sur SQL Server 2008? Ce n'
Im en utilisant Sql Server 2008 SELECT @@VERSION retourne Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) 9 Fév 2007 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Express Edition sur Windows NT 6.1 (Build 7601: Service Pack 1)
ce n'est pas votre page de connexion, c'est tout simplement la version de l'outil client que vous avez installé sur votre machine. Il n'a pas besoin d'être les mêmes que les serveurs que vous gérez (après tout, comment cela fonctionnerait si vous avez à gérer un 2000, 2005 et 2008, par exemple?), mais il faut >= la version la plus récente que vous avez à gérer. Vous pouvez utiliser la version de 2005, si vous voulez être "compatible", mais je ne vois pas pourquoi vous voulez le faire. Si vous souhaitez utiliser SQL Server 2008+ syntaxe, la "solution" est de mettre à niveau le serveur à 2008+, pas le client de l'outil de la même version que le serveur.
Êtes-vous sûr que vous êtes en cours d'exécution sur SQL Server 2008? Ce n'
SELECT @@VERSION
retour?Im en utilisant Sql Server 2008 SELECT @@VERSION retourne Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) 9 Fév 2007 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Express Edition sur Windows NT 6.1 (Build 7601: Service Pack 1)
9.00
est SQL Server 2005. Il dit même SQL Server 2005
dans ce que vous avez posté.ce n'est pas votre page de connexion, c'est tout simplement la version de l'outil client que vous avez installé sur votre machine. Il n'a pas besoin d'être les mêmes que les serveurs que vous gérez (après tout, comment cela fonctionnerait si vous avez à gérer un 2000, 2005 et 2008, par exemple?), mais il faut >= la version la plus récente que vous avez à gérer. Vous pouvez utiliser la version de 2005, si vous voulez être "compatible", mais je ne vois pas pourquoi vous voulez le faire. Si vous souhaitez utiliser SQL Server 2008+ syntaxe, la "solution" est de mettre à niveau le serveur à 2008+, pas le client de l'outil de la même version que le serveur.
OriginalL'auteur Ebeen | 2012-07-02
Vous devez vous connecter pour publier un commentaire.
Afin d'utiliser le multi-ligne
VALUES(),()
la syntaxe, vous devez être en cours d'exécution de SQL Server 2008 (ou version plus récente).Puisque vous exécutez SQL Server 2005, vous avez besoin d'instructions insert, utiliser de l'UNION/UNION de TOUS, ou de mettre à niveau l'instance (qui est distinct de Gestion de Studio, qui est juste un outil de client que vous utilisez pour vous connecter aux instances en cours n'importe quel nombre de versions de SQL Server).
J'aimerais aussi la syntaxe de cette s'il vous plaît
OriginalL'auteur Aaron Bertrand
Vous pouvez le faire de cette façon:
etc etc
Grâce
Paul.
Mais le problème n'est pas la syntaxe, pour toute personne qui exécute SQL Server 2008
VALUES
est généralement préféré plus deUNION
. Le problème, c'est que l'OP n'est pas sur SQL Server 2008.ouais j'ai compris que, si au lieu de caler votre développement parce qu'une fonctionnalité n'est pas disponible, utilisez la méthode héritée de le faire.
Cela est précieux. Merci, @PaulG. Comme nous déplacer anciens systèmes vers le cloud, nous allons être en contact avec déjà perturbé données. Cette question et sa réponse(s) ont été utiles et un rappel à propos de la db capacité.
OriginalL'auteur PaulG