Boa tarde.

Conforme o código abaixo, criei uma funcao que retorna uma tabela.
Preciso gravar o retorno em um tabela de log.
Como fazer sem precisar montar o sql na mao ?
Tipo insert into log select * from var.


-- Create Object of your tableCREATE TYPE TABLE_RES_OBJ AS OBJECT (
     IDINGREDIENT                  INT ,
     NOMINGREDIENT                 VARCHAR (255) ,
     QUANTITE                      INT );
--Create a type of your object CREATE TYPE TABLE_RES AS TABLE OF TABLE_RES_OBJ;/
--Function Use the type created as Return TypeCREATE OR REPLACE
FUNCTION CHANGENBPERSONNES (
     RECETTE      IN   INT,
     NBPERSONNE   IN   INT)
     RETURN TABLE_RESAS
     CURSOR CURSEUR_ETAPE
     IS
          SELECT  TABLE_RES_OBJ (IR.*)
            FROM INGREDIENTRECETTE IR
            JOIN RECETTE R ON IR.IDRECETTE =R.IDRECETTE
                 JOIN INGREDIENT I ON IR.IDINGREDIENT = I.IDINGREDIENT
           WHERE R.IDRECETTE = RECETTE;

     VAR       TABLE_RES:= TABLE_RES();BEGIN
     OPEN CURSEUR_ETAPE;

     LOOP
          FETCH CURSEUR_ETAPE
          BULK COLLECT INTO VAR LIMIT 100;

          EXIT WHEN CURSEUR_ETAPE%NOTFOUND;
     END LOOP;

     CLOSE CURSEUR_ETAPE;

     RETURN VAR;END;/



-- 

Eduardo Perdomo

Responder a