Posez votre question Signaler

Prb! Requete SQL, insert avec select

Cire - Dernière réponse le 21 janv. 2005 à 13:20
Bonjour, j'ai un problème, je fais des requête SQL dans Oracle.

Je recois le message du genre: "paramètre insuffisant."

J'ai une variable de type SEQUENCE: seqRetraite

Voici ma requête:

INSERT INTO  retraite
(noRet, dateRetraite, nomR, noDept, dateEmbauche)
    VALUES(seqRetratraite.NEXTVAL, SYSDATE, 
          (SELECT nomE, noDept, dateEmbauche
              FROM emp
              WHERE dateEmbauche < 
                             TO_DATE('01/01/1982', 'DD/MM/YYYY')));


Je cherche à ajouter plusieur ligne dans "retraite" d'où 3 variables viennent de "emp' sous une certaine condition.

Quelqu'un peut-il voir le problème?

Merci de votre précieuse aide!

Cire
Lire la suite 

Prb! Requete SQL, insert avec select »

3 réponses
Réponse
+1
moins plus
Salut,
à mon avis le pb vient de la syntaxe : je crois pas qu'on puisse faire un medley des deux formes d'insert possible à savoir
"Insert into TABLE values(...)"
et
"Insert into TABLE select ........"
Du coup je pense que tu devrais utiliser la 2eme syntaxe en écrivant :
"INSERT INTO retraite(noRet, dateRetraite, nomR, noDept, dateEmbauche) SELECT seqRetratraite.NEXTVAL, SYSDATE, nomE, noDept, dateEmbaucheFROM emp WHERE dateEmbauche < TO_DATE('01/01/1982', 'DD/MM/YYYY') ".
Voili voilou,
amuses toi bien

Mattiou
Cire - 19 janv. 2005 à 17:01
Merci,

C'est pas fou du tout!

Je vais l'écrire!

Merci

Cire
Ajouter un commentaire
Réponse
-2
moins plus
Le souci est très clair, ton "insert" attend 5 paramètres
(noRet, dateRetraite, nomR, noDept, dateEmbauche)
alors
que ton "select" (ta sous-requête)
ne revoie que 3 paramètres ...
soit tu peux remplir via un null pour les paramètres vides
soit tu t'arranges pour que ton select revoie les 5 paramètres
avec les types correspondant
voilà.

bon travail.
Ajouter un commentaire
Ce document intitulé « Prb! Requete SQL, insert avec select » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?