MERGE INTO avec une variable de type TABLE
Bonjour,
J'ai un package, auquel j'essaie d'ajouter une procédure qui effectuerait un MERGE INTO sur une vraie table, mais avec des données contenues dans une variable de type table...
J'ai ça comme déclaration de types :
Code:
1 2
| type TFILTRE is RECORD (APP VARCHAR2(8), CUBE VARCHAR2(8), FILTRE VARCHAR2(255), ENTITY VARCHAR2(80)) ;
type TFILTRES is table of TFILTRE ; |
Et voici ma procédure :
Code:
1 2 3 4 5 6 7 8
| PROCEDURE IU_FILTRE (v_FILTRES IN TFILTRES)
IS
BEGIN
MERGE INTO OBI_FILTRES F
USING (SELECT... FROM v_FILTRES) V ON (F.APPLICATION = V.APP AND ...)
WHEN MATCHED THEN UPDATE ...
WHEN NOT MATCHED THEN INSERT ...
END ; |
Mais lorsque j'essaie de compiler, il me dit à propos de v_FILTRES :
Citation:
PL/SQL: ORA-00942: table or view does not exist.
Il y a une syntaxe spéciale pour faire un SELECT sur une variable table ? J'ai essayé TABLE(v_FILTRES), mais ça m'a fait une autre erreur :
Citation:
PLS-00642: local collection types not allowed in SQL statements.
Merci d'avance pour toute piste !