2016-11-22 1 views
-1
insert into fees (name, salary) 
values ('john', 155), ('katy', 300); 

Cela jette parfois une erreurinserts multiples dans une seule instruction SQL

manquant parenthèse droite

il est parfois

instruction SQL pas correctement terminé

si j'utilise des guillemets pour les entrées de nom ... Quel est le problème?

+2

Quel SGBD utilisez-vous? Oracle pour un ne supporte pas cette syntaxe. Et les anciennes versions de SQL Server non plus. Vous devriez toujours afficher le message d'erreur ** complete ** et ** exact ** lorsque vous demandez de l'aide. –

+0

Ce que @a_horse_with_no_name a dit. La déclaration elle-même semble bien. Votre problème doit être ailleurs. – Jens

+0

@Jens: la déclaration n'est pas "correcte" si elle utilise par ex. Oracle –

Répondre

0

Il serait probablement plus facile d'avoir plusieurs instructions sql. Par exemple:

INSERT INTO fees(name, salary) VALUES ('john', 155); 
INSERT INTO fees(name, salary) VALUES ('katy', 300); 

Cependant, si vous souhaitez utiliser les multiples inserts-en-un-déclaration, vous pouvez jeter un oeil à https://stackoverflow.com/a/452882/651174, et faire quelque chose comme ceci:

INSERT INTO fees(name, salary) VALUES ('john', 155), ('katy', 300); 

Qu'est-ce que utilisez-vous pour insérer l'insertion SQL si vous rencontrez des problèmes de formatage de chaîne?

+0

im en cours d'exécution à partir de l'invite cmd – codepoetly

0

FAITES L'ESSAI

INSERT INTO fees(name, salary) VALUES 
('john', 155), 
('katy', 300); 

Aller au lien ci-dessous pour plus d'informations

Inserting multiple rows in a single SQL query?

+1

C'est exactement l'instruction dans la question qui "donne une erreur" –

+0

Je sais que je l'ai manqué .... –

-1

Vous pouvez utiliser UNION ou UNION ALL

INSERT INTO fees(name, salary) 
select 'john', 155 
union all 
select 'katy', 300 
+0

Erreur de syntaxe dans SQL ANSI. – jarlh