Bonjour,

J'arrive à créer correctement la procédure stockée suivante :

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 OR REPLACE PROCEDURE PH_SEQ5
    (
        MyPeriode CHAR
    )
 
IS
 
    -- Déclaration variables locales
    stSql VARCHAR2(3000);
 
    BEGIN
        stSql:='CREATE OR REPLACE VIEW PH_VUE_TEMP AS SELECT * FROM PH_EMI_AG WHERE TRTPER_PNU='||MyPeriode;
        EXECUTE IMMEDIATE (stSql);
    END;
 
/
Mais à l'exécution avec une variable alphanumérique :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
CALL PH_SEQ5('2012H38');
J'obtiens l'erreur :
CALL PH_SEQ5('2012H38')
Error at line 33
ORA-00933: SQL command not properly ended
ORA-06512: at "A263.PH_SEQ5", line 17
Si j'exécute le code suivant ça marche : Dans la table PH_EMI_AG, le champ TRTPER_PNU est de type VARCHAR2(7).

J'ai essayé différentes combinaisons avec les quotes sans succès.

Si quelqu'un a une idée, je suis preneur.

Merci.