quarta-feira, dezembro 29, 2004

Como criar uma datawindow baseada em stored procedure ORACLE

1) Primeiramente, deverá ser criado um package contendo a declaração de um tipo REF CURSOR.

Ex:

-- Pacote com o tipo C_EMPRESAS
Create OR Replace Package EMPRESAS
IS

-- Tipo cursor para retornar as empresas
TYPE C_EMPRESAS IS REF CURSOR;

END EMPRESAS;

2) Criar a procedure incluindo no final do cabeçalho um parâmetro de saída que seja do tipo declarado no package. Construir a procedure normalmente, porém o último comando deverá ser um “OPEN cursor FOR select”, onde o cursor é o parâmetro de saída declarado no cabeçalho e o select são os dados a serem retornados.

Ex:

-- Procedure que retorna as empresas de determinado Estado
create or replace procedure retorna_empresas_unf
(
as_emp_unf in varchar2,
OUTREC IN OUT EMPRESAS.C_EMPRESAS
)
as

begin

-- Abre o cursor de saída, selecionando as empresas do estado passado como parâmetro.

OPEN OUTREC FOR
select * from tb_emp
where emp_unf = as_emp_unf;

end;

3) No PowerBuilder, criar a datawindow utilizando a stored procedure criada.


Nenhum comentário: