Bonjour,

J'ai une erreur ORA-00947 à la ligne : SELECT lg.LGID_VALUE, cny.COMPANY_OID_PK, cny.CNY_SERVICE_LEVEL.

voici le code :
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;
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.
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.