procedure

Como manipular dados do tipo collection / conjunto ( set , list, multiset ).

Há muitas maneiras de tratar dados do tipo collection e também há muitas maneiras dinâmicas de tratar dados convertendo eles para collection.

Abaixo será demonstrado como tratar estes dados em SELECTs e como altera-los:

Tipo collection / conjunto , diferenças entre SET , LIST e MULTISET

Um campo do tipo collection é um conjunto, onde é possível ter mais
de um dado no mesmo campo/registro.

Utilizar uma stored procedure em um select no lugar de uma tabela

Primeiro é necessário fazer com que a procedure retorne mais de uma linha na execução, para isso basta incluir o comando RETURN dentro de um FOREACH com o parametro WITH RESUME:

CREATE PROCEDURE xyz() RETURNING int
...
FOREACH c1 FOR ...
RETURN v_campo WITH RESUME;
END FOREACH
END PROCEDURE

Então basta utiliza-la no select da seguinte forma:
[code]
SELECT * FROM TABLE(xyz());
[/cod

Tags:

Integração entre trigger e stored procedure

A partir da versao 11.10 , quando a trigger é criado com FOR EACH ROW há possibilidade de passar automaticamente os dados da tabela executada pela trigger para a procedure e é possível identificar dentro da procedure qual tipo de trigger está sendo executada (update, delete, insert ou select).

Tags: