Pb d'insert en pl/sql
Yann
-
Yann -
Yann -
Bonjour,
un truc tout bete : sans le INSERT, ca marche, mais pas avec ????
BEGIN
sql_cmd:='CREATE TABLE TMP_ACCOUNT_T (OBJ_ID0 NUMBER(38), REC_ID NUMBER(38), REC_ID2 NUMBER(38))';
execute immediate sql_cmd;
OPEN supp_cur;
LOOP
FETCH supp_cur into objid0, recid, recid2;
EXIT WHEN supp_cur%NOTFOUND;
DELETE ACCOUNT_PHONES_T WHERE obj_id0 = objid0 AND rec_id = recid AND rec_id2 = recid2;
INSERT INTO TMP_ACCOUNT_T (OBJ_ID0, REC_ID, REC_ID2) values (objid0,recid,recid2);
END LOOP;
CLOSE supp_cur;
END;
si qqun a une idee ? merci d'avance
un truc tout bete : sans le INSERT, ca marche, mais pas avec ????
BEGIN
sql_cmd:='CREATE TABLE TMP_ACCOUNT_T (OBJ_ID0 NUMBER(38), REC_ID NUMBER(38), REC_ID2 NUMBER(38))';
execute immediate sql_cmd;
OPEN supp_cur;
LOOP
FETCH supp_cur into objid0, recid, recid2;
EXIT WHEN supp_cur%NOTFOUND;
DELETE ACCOUNT_PHONES_T WHERE obj_id0 = objid0 AND rec_id = recid AND rec_id2 = recid2;
INSERT INTO TMP_ACCOUNT_T (OBJ_ID0, REC_ID, REC_ID2) values (objid0,recid,recid2);
END LOOP;
CLOSE supp_cur;
END;
si qqun a une idee ? merci d'avance
A voir également:
- Pb d'insert en pl/sql
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Logiciel sql - Télécharger - Bases de données
- Insert boot media in selected boot device and press a key ✓ - Forum Windows 10
- Requête sql pix - Forum Python
5 réponses
Salut,
J'vais p'tet dire une betise qui n'a rien a voir, mais il me semble que la bonne syntaxe pour un delete est DELETE FROM matable et non DELETE matable...
Voilu, sinon pour le reste je ne vois pas de probleme.......
stf
J'vais p'tet dire une betise qui n'a rien a voir, mais il me semble que la bonne syntaxe pour un delete est DELETE FROM matable et non DELETE matable...
Voilu, sinon pour le reste je ne vois pas de probleme.......
stf
Le probleme ne vient pas de la !!!
que tu mettes delete from ou delete tout court, ca marche !!!
le pb vient du INSERT
que tu mettes delete from ou delete tout court, ca marche !!!
le pb vient du INSERT
Salut,
Le probleme peut venir des types de données. La syntaxe du insert semble correct.
Comme aucune variable n'a été déclarée (ou il manque la partie déclaration), ORACLE doit prendre un type par défaut non compatible avec le type de données de ta colonne.
Pour palier à ce problème de type, essayes de déclarer tes variables :
objid0 TMP_ACCOUNT_T.OBJ_ID0%Type;
recid TMP_ACCOUNT_T.REC_ID%Type;
recid2 TMP_ACCOUNT_T.REC_ID2%Type;
DaNot
Le probleme peut venir des types de données. La syntaxe du insert semble correct.
Comme aucune variable n'a été déclarée (ou il manque la partie déclaration), ORACLE doit prendre un type par défaut non compatible avec le type de données de ta colonne.
Pour palier à ce problème de type, essayes de déclarer tes variables :
objid0 TMP_ACCOUNT_T.OBJ_ID0%Type;
recid TMP_ACCOUNT_T.REC_ID%Type;
recid2 TMP_ACCOUNT_T.REC_ID2%Type;
DaNot
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour tout ceux qui ont bien voulu m'aider, et que ca interesse, g eu la reponse a ma question...et c bon a savoir...
En fait dans un PL/SQL, avant execution de la requete, il y a analyse sémentique et syntaxique...
Dans mon cas, je crée une table, puis je fais un insert dedans...or lors de l'analyse, la table n'est pas encore créée car le create n'a pas encore ete executé, donc c comme si j'essayais de faire un insert dans une table qui n'existe pas. La solution : faire la creation de ma table avant le declare...
Merci en tout cas a vous !
En fait dans un PL/SQL, avant execution de la requete, il y a analyse sémentique et syntaxique...
Dans mon cas, je crée une table, puis je fais un insert dedans...or lors de l'analyse, la table n'est pas encore créée car le create n'a pas encore ete executé, donc c comme si j'essayais de faire un insert dans une table qui n'existe pas. La solution : faire la creation de ma table avant le declare...
Merci en tout cas a vous !