Bonjour,

Je cherche à mettre en pratique ce que j'ai pu lire les la gestion des paramètres régionaux sous Oracle.

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 TESTDATE(
  in_expdat IN DATE           DEFAULT NULL
  ,out_returnvalue OUT DATE
  ,out_nls_date_format OUT VARCHAR2
  ,out_sqlstate OUT NOCOPY VARCHAR2
  ,out_liberror OUT NOCOPY VARCHAR2
  ,out_cod_ret OUT NOCOPY INTEGER
)
  AS
 user_exception EXCEPTION;
BEGIN
  SELECT value into out_nls_date_format from nls_session_parameters where parameter = 'NLS_DATE_FORMAT';
  SELECT CURRENT_DATE INTO out_returnvalue FROM dual;
  EXCEPTION
    WHEN OTHERS THEN
      out_sqlstate := TO_CHAR(SQLCODE);
      out_liberror := out_liberror || ' : SQLSTATE ' || SUBSTR(SQLERRM,1,200);
      out_cod_ret  := -1;
END TESTDATE;
out_returnvalue = 2011-07-25
out_nls_date_format = DD/MM/RR

Je ne comprend pas pourquoi ma valeur de retour n'est pas au format du nls_date_format du nls_session_paramers.
quelqu'un aurait une explication ?