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:

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;
Merci d'avance pour vos réponses ou suggestions.