salut,
je travaille actuellement sur oracle 10g express. j'ai créer un package contenant une variable que j'utilise pour générer une vue paramétrée. le problème est que la valeur de la variable ne change pas. voici la spécification et le corps du package.

spécification :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
create or replace PACKAGE P1
AS
   p   DATE default '01/03/07';
 
   FUNCTION GET_P
      RETURN DATE;
   PROCEDURE SET_P
   (P_DATE IN DATE);
END;
corps :

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
 
create or replace package body "P1" is
function GET_P return DATE
 
as
begin
 RETURN p; /* insert function code */
end GET_P;
 
procedure SET_P(       P_DATE IN DATE
)
as
begin
 p := P_DATE; /* insert procedure code */
end SET_P;
 
end P1;
je travaille en localhost sur oracle 10g express, j'execute la commande EXECUTE pour changer la valeur de la variable mais apparement il ne la reconnait pas c'est pourquoi j'ai créer une fonction qui change la valeur de la variable et je l'appel comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
select fonction('date a insérer dans la variable ')
from dual