SQL Server, le Problème de la création de la table temporaire en TSQL
Salut, quand j'exécute les suivantes TSQL, j'obtiens le message d'erreur ci-dessous. Mais il n'y a rien de mal avec la syntaxe SQL est-il?
create table #tb ([t1] tinyint, [t2] varchar(50))
insert into #tb values
(1, 'a'),
(2, 'b')
Msg 102, Niveau 15, État 1, Ligne 3
Syntaxe incorrecte près de ','.
Il n'y a rien d'autre dans la fenêtre de requête SQL. L'exécution de SQL Server 2005.
OriginalL'auteur Grant | 2011-05-23
Vous devez vous connecter pour publier un commentaire.
Comme jmoreno mentionne, le
VALUES (), ()
la syntaxe de SQL Server 2008+ prise en charge, mais vous avez balisé ce que SQL Server 2005.Utilisation:
Il est également possible de le faire en une seule requête, à l'aide de la
SELECT ... INTO
l'article, mais la temp de la table ne peuvent pas déjà exister:OriginalL'auteur OMG Ponies
Essayez ceci:
Vous devez spécifier les colonnes que vous êtes de l'insertion en.
//EDIT
Désolé, SQL 2005 syntaxe ci-dessous. Il n'est pas aussi élégant.
OriginalL'auteur James Hill
Vous dites que vous êtes à l'aide de SQL 2005, mais les VALEURS (), () la syntaxe n'était pas mis en œuvre jusqu'en 2008.
Les instructions insert, ou sélectionnez et l'UNION de TOUS.
OriginalL'auteur jmoreno
Semble que vous essayez d'insérer deux lignes, de sorte que vous devez insérer à la première ligne, puis la deuxième, au lieu d'essayer de serrer le tout en un seul:
OriginalL'auteur TheEmirOfGroofunkistan
SÉLECTIONNEZ t.champ1, t.field2 DANS #myTempTable
DE myDB.myOwner.myTable t
OÙ ...
COMMANDE PAR t.champ1, t.champ2;
-- utiliser ##myTempTable que le nom si vous voulez que votre table pour être GLOBAL.
OriginalL'auteur user2418636