Bonjour,
J'ai une erreur ORA-00947 à la ligne : SELECT lg.LGID_VALUE, cny.COMPANY_OID_PK, cny.CNY_SERVICE_LEVEL.
voici le code :
Je ne comprend pas pourquoi le nombre de valeurs est insuffisante car j'ai 3 données dans ma projection pour les mettre dans un objet de 3 colonnes.
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 TYPE VARLIST AS TABLE OF VARCHAR2(19); create or replace type EASY_OBJECT as object (easy varchar2(100),iris varchar2(24),lvlOrCny varchar2(24)); create or replace type monTabEasy is varray(1000) of EASY_OBJECT; DECLARE listEasy VARLIST := VARLIST('e499','ec16','ec17'); --entree aTab monTabEasy; --sortie BEGIN SELECT lg.LGID_VALUE, cny.COMPANY_OID_PK, cny.CNY_SERVICE_LEVEL BULK COLLECT INTO aTab FROM TABLE(listEasy) e, CD_LGID_AT lg, CD_COMPANY cny WHERE lg.LGID_VALUE = e.COLUMN_VALUE AND lg.LGID_CNY_OID_FK = cny.COMPANY_OID_PK; FOR j IN 1..aTab.COUNT() LOOP DBMS_OUTPUT.PUT_LINE('Iris(' || j || ') = ' || aTab(j).iris); END LOOP; END;
J'ai verifié les longueur des champs
lg.LGID_VALUE (100) cny.COMPANY_OID_PK(23) cny.CNY_SERVICE_LEVEL(12)
elle rentre easy varchar2(100),iris varchar2(24),lvlOrCny varchar2(24)
Merci pour vos réponses.
Partager