Oracle - Procedimiento con cursor como parametro de salida

 
Vista:

Procedimiento con cursor como parametro de salida

Publicado por Fernanda (37 intervenciones) el 31/10/2012 15:51:18
Hola a todos,

Alguien sabe como hacer un procedimiento que tenga un parametro de entrada y como parametro de salida un cursor? y como sería la llamada.

he buscado en internet y no he podido encontrar ningún ejemplo

GRACIASSSSS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Procedimiento con cursor como parametro de salida

Publicado por Luis (51 intervenciones) el 02/11/2012 06:18:53
Hola Fernanda, aqui te envio un proc que recibe parametros de entrada y como salida tiene un cursor, esto es usado para consultas en oracle forms. El procedimiento esta dentro de un paccckage, la estructura del cursor la creas en la parte de especificacion del Package. Espero te sirva. Cualquier consulta me la haces llegar por correo. Saludos

Luis.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
CREATE OR REPLACE PACKAGE BODY ESPECIALES.PCK_CONS IS
 
 
  Procedure proc1(pd_fech_ini             sstc_serv_excl.fec_inic_serv%type,
                                                 pd_fech_fin             sstc_serv_excl.fec_inic_serv%type,
                                                 pv_codi_clie             varchar2,
                                                 pc_cons_srv_excl    in out cur_cons_srv_excl ) is
 
  Begin
 
    Open  pc_cons_srv_excl for
    Select  cod_seri_serv_excl,  tip_docu_serv_excl, ano_corr_serv_excl, num_corr_serv_excl ,
    cod_seri_serv_excl||'  '||rtrim(ltrim(tip_docu_serv_excl))||rtrim(ltrim( ano_corr_serv_excl)) ||' '||
    lpad(to_char(num_corr_serv_excl),5,'0' )  id_reg,
    fec_inic_serv   fech_hora ,
    to_char(fec_inic_serv,'Dy','nls_language=Spanish') dia,
    trunc(fec_inic_serv)  fecha,
    to_char(fec_inic_serv,'hh24:mi') hora,
    cod_clie,
    rtrim(ltrim(pkg_generales.gefu_des_clie ('VE_CLIENTE', cod_clie, 1) ))  nom_clie,
     pkg_generales.descripcion('TIPO' , 688, cod_tipo_serv_excl, 2) tipo_serv,
     pkg_generales.descripcion('TIPO' , 686, cod_tipo_refe_pedi , 2) refe_soli,
     num_refe_pedi  nro_refe_soli , des_soli , cod_estd_soli
     from SSTC_SERV_EXCL
     where  fec_inic_serv  >=trunc(pd_fech_ini)
            and fec_inic_serv < trunc(pd_fech_fin)+1
            and  cod_clie = decode( rtrim(ltrim(pv_codi_clie)),  '%' , cod_clie, to_number(  rtrim(ltrim(pv_codi_clie))  )  )
            and  cod_tipo_serv_excl  IN (
            Select cod_tipo
           from SSWD_LIST_TIPO
           where cod_grup=688
            and ind_sele=1  )
            and  cod_estd_soli IN (  Select  cod_estd
           from SSWD_LIST_ESTD
          where cod_grup=131
          and  ind_sele=1)
          order by 6 desc;
 
 
  Exception
     When Others then
           Raise_Application_Error(-20000, SqlCode || ' ' || Sqlerrm);
 
  End proc1;
 
 
 
End  PCK_CONS;
/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Procedimiento con cursor como parametro de salida

Publicado por Fernanda (37 intervenciones) el 06/11/2012 16:21:18
GRACIAS !!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar