Bonjour,
J'ai un cas étonnant :
je crée un fonction retournant un varchar2(10).
Lorsque je crée une vue en utilisant cette fonction :
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 FUNCTION get_operator (filename VARCHAR2) RETURN VARCHAR2 AS operator_name VARCHAR2(10); BEGIN IF (filename like 'SOL42_Optimus%') THEN operator_name := 'Optimus'; ELSIF (filename like 'SOL42_O2%') THEN operator_name := 'O2'; ELSIF (filename like 'SOL42_Mobilkom%') THEN operator_name := 'Mobilkom'; ELSIF (filename like 'SOL42_Bt%') THEN operator_name := 'BT'; ELSE operator_name := 'UNDEF'; END IF; return operator_name; END;
le champ CDR_OPERATOR de la vue est un varchar2(4000) ??????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE OR REPLACE VIEW ibr_view (CDR_OPERATOR, FILENAME, STATUS, ERROR_CODE, CDR_COUNTER) AS select get_operator(filename), filename, 'SUSPENDED', error_code, count(*) from SUSPENDED_USAGE_T group by get_operator(filename), filename, error_code;
Est-ce normal docteur ?
Merci pour votre réponse.
Partager