Bonjour à tous,
Alors, j'ai deux problèmes dans la conception de ma procédure stockée sous oracle avec SQL Developer.
Premier souci:
En fait, ma procédure prend en paramètre le nom d'une table et une valeur d'un des champs de cette table. Je souhaite alors conserver dans une variable (booléenne) le résultat du select sur cette table avec comme condition la valeur du champ concerné. Pour celà j'utilise "EXECUTE IMMEDIATE" pour mon select et "decode" pour vérifier la valeur de retour du select. Mais EXECUTE IMMEDIATE ne prend pas en compte la variable "var_Found_table_attribut"
Second souci: les cotes dans 'N' et 'Y' que j'utilise dans ma requête n'ont pas l'air d'etre apprécié par le codes.
Voilà mon code:
Merci d'avance pour vos réponses ou suggestions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 CREATE TABLE TABLE_EIM ( ROW_ID VARCHAR2(30), IF_ROW_BATCH_NUM VARCHAR2(60), PRIMARY KEY (ROW_ID) ); create or replace PROCEDURE DEBUT_ETAPE(NOM_TABLE IN VARCHAR2, BATCH_NUM IN VARCHAR2) IS var_Found_table_attribut varchar2(30); BEGIN EXECUTE IMMEDIATE 'SELECT decode(ROW_ID,null,'N','Y') INTO' || var_Found_table_attribut|| '||NOM_TABLE||' WHERE IF_ROW_BATCH_NUM='||BATCH_NUM; --dbms_output.put_line('var_Found_table_attribut); END;
Partager