Problème de syntaxe "Insert Into Values" - SQL/NoSQL - Programmation
Marsh Posté le 13-05-2005 à 15:44:39
INSERT INTO MaTable (champ1,champ2,champ3) Values (1,2,3),(4,5,6);
ca marche pas mieux ?
Marsh Posté le 13-05-2005 à 15:48:05
Pas mieux
"Impossible d'analyser le texte de la requête."
Marsh Posté le 13-05-2005 à 15:54:58
C'est sur quel SGBD?
Tu as vérifié le type de tes champs?
Moi ca marche avec MySQL.
Marsh Posté le 13-05-2005 à 16:02:30
SQL Server 2000,
J'ai aussi trouver des exemples de codes sur MySQL mais pas encore sur SQL ... peut-être y a t'il une différence
Je continue mes recherches...
Si vous avez des idées !
Marsh Posté le 13-05-2005 à 16:15:57
lordkoko a écrit : SQL Server 2000, |
Salut,
Je ne suis pas un expert absolu en SQL 2000 mais il ne me semble pas que tu puisses le faire comme ça.
Tu peux faire un insert into select mais je ne pense pas que cela t'arrange forcément dans ton cas...
Autrement, ce que tu peux faire c'est utiliser une SP. Dans cette SP tu crées un curseur et ensuite tu utilises le curseur pour faire un insert into.
Voilà peut-être que cela pourra t'aider.
A+
Marsh Posté le 13-05-2005 à 16:40:25
Quelqu'un pourrait t'il confirmer qu'on ne peux pas insérer plusieurs enregistemnts dans une même requête SQL sous SQL Server 2000 ...
Merci.
Sinon que pensez vous de cet article concernant l'insertion d'enregistrement dans une base SQL ?
http://sql.developpez.com/sqlaz/dml/
Dernière chose... à quoi correspond la version SQL2 à laquelle il font référence ?
Merci à tous
Marsh Posté le 13-05-2005 à 18:00:19
Je viens de trouver cette page qui explique bien la chose [pour les curieux]
http://www.planet-source-code.com/ [...] 7&lngWId=5
Voici un bref résumé et une réponse à ma question
-----------------------------------------------------
INSERT MULTIPLE row values instead of using multiple INSERT statements
I read an article on IBM´s homepage on DB2 where they had a tip on how to insert multiple row values with one statement like this
INSERT INTO [TABLE] values ('Value1','Fernando'),('Value2','Carlos'), ('Value3','Vincent')
This is not possible in MS SQL. But there is a work around using multiple UNION ALL statements. See code bellow
INSERT INTO[TABLE]
select 'Value1','Fernando'
UNION ALL
select 'Value2','Carlos'
UNION ALL
select 'Value3','Vincent'
When inserting many values this should improve performance and typing.
-----------------------------------------------------
Merci à tous
Marsh Posté le 13-05-2005 à 15:34:08
Bonjour,
Je souhaite insérer des enregistrement dans une table SQL, je dois pour cela créér ma requête dans une boucle (c#) afin de créer dynamiquement la requête avant de l'exécuter.
Le but de cette manipulation est en fait de n'exécuter qu'une seule requête au lieu d'une par enregistrements.
J'ai un problème lorsque j'utilise la syntaxe suivante :
INSERT INTO MaTable Values (1,2,3),(4,5,6);
Cette syntaxe me semblait pourtant valable...
Pourriez vous m'aider sur ce point
Merci d'avance