Bonjour à tous,
j'ai un léger soucis avec 2 petites procédures PL/SQL.
En fait, ma première procédure, va chercher une date dans une table > créer une table temporaire > stocke la date dans cette table > et update la date dans la table principale :
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
17
18
19
CREATE OR REPLACE PROCEDURE SCHEMA.P_DATE_CHECKPOINT
IS
    s#QUERY_SEL_DATE DATE;
    s#DATE_TMP DATE;    
BEGIN
    s#DATE_TMP:= '01/01/1900';
    s#QUERY_SEL_DATE:=
                       'SELECT CP.LAST_RUN_DATE
                        FROM CHECK_POINT CP
                        WHERE CP.CP_ID =  5';
 
    EXECUTE IMMEDIATE 'CREATE TABLE CHECK_POINT_TMP (LAST_RUN_DATE DATE)';
    EXECUTE IMMEDIATE 'INSERT INTO CHECK_POINT_TMP (LAST_RUN_DATE)
                       VALUES ('|| s#QUERY_SEL_DATE ||')';
    EXECUTE IMMEDIATE 'UPDATE CHECK_POINT CP
                       SET LAST_RUN_DATE = '|| s#DATE_TMP ||
                       'WHERE CP.CP_ID = 5';
END;
/
Et ma 2ème procédure va récupère la date stockée dans la table temporaire > la met à la place de la date de la table principale > et supprime la table temporaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE OR REPLACE PROCEDURE SCHEMA.P_CHECKPOINT_INITIAL_DATE
IS
    s#QUERY_SEL_DATE_TMP DATE;
BEGIN
    s#QUERY_SEL_DATE_TMP:=
                       'SELECT CPT.LAST_RUN_DATE
                            FROM CHECK_POINT_TMP CPT';
    EXECUTE IMMEDIATE 'UPDATE CHECK_POINT CP
                       SET LAST_RUN_DATE = '|| s#QUERY_SEL_DATE_TMP
                       || 'WHERE CP.CP_ID = 5';
    EXECUTE IMMEDIATE 'DROP TABLE CHECK_POINT_TMP';
END;
/
Lorsque je créer ces proc, pas de soucis, mais lorsque j'essaie de les executer, j'ai cette erreur (la même pour les 2), voici celle de la première :

ORA-01858: Caractère non numérique trouvé à la place d'un caractère numérique
ORA-06512: à "SCHEMA.P_DATE_CHECKPOINT", ligne 7
ORA-06512: à ligne 1


Quelqu'un peut-il m'aider? Je ne sais pas si j'ai vraiment fait une erreur ou bien si c'est une histoire de quote mal placée ou manquante...