Muito obrigado Zuleica, foi de grande valia sua SP.
Só mais uma dúvida, o comando
COMMENT ON SPECIFIC PROCEDURE  store_procedure IS 'Verifica se a tabela está integra';
é para apresentar no ambiente mensagens para o operador ?
por exemplo no oracle:
Dbms_Output.Put_Line( '********* Inicio de SP_LERARQUIVO *************' );

E aproveitando vc tem alguma SP em DB2 que trabalhe com arquivos TXT, leitura e gravação?

Volto a agradecer pela ajuda.
Washington Marques

Zuleica Lopes escreveu:
Washington,
 
veja se este exemplo ajuda.
 
Zuleica

Washington Marques <[EMAIL PROTECTED]> escreveu:
Colegas,

Alguém já fez ou tem alguma store procedure em DB2 ?
Por favor peço a ajuda de vc's

Desde já agradeço.
Washington Marques

==============================================
Lista de Centura SQLWindows
Administrador : [EMAIL PROTECTED]
[ http://www.centuraexplorer.com ]
Para sair desta lista mande mensagem para:
[EMAIL PROTECTED] sem nada no Subject e
com o comando a seguir no corpo da msg:
"unsubscribe sqlwin" (sem as aspas)
==============================================

__________________________________________________
Faça ligações para outros computadores com o novo Yahoo! Messenger
http://br.beta.messenger.yahoo.com/


drop procedure pVerificaSPDB063;

commit;

CREATE PROCEDURE  pVerificaSPDB063 () 
LANGUAGE SQL 
MODIFIES SQL DATA 
BEGIN 
    declare sqlcode		integer;	
    declare loc_nsqlcode		integer;
    declare sqlstate		char (5) 		default '0';	
    declare loc_nErro		numeric (5) 		default 0;
    declare loc_cErro		varchar (100);	
    declare loc_nqt_contr 		numeric (6);
    declare loc_ndt_ut_cob 		numeric (6);

    DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET loc_nsqlcode = sqlcode;        
    DECLARE CONTINUE HANDLER FOR SQLWARNING   SET loc_nsqlcode = sqlcode;

    delete from  spat063;
    insert into  spat063 values (1, 'Início', current date, current time);
    commit;

    insert  into  spat063
    select 5, digits (nr_ins) || ' ' || digits (nr_ct) || ' ' || digits (dt_venc_ct), current date, current time
    from   spdb063
    where  ( (mod (int (dt_venc_ct), 10000) not between 1900 and 2005)
                or
                (mod (int (dt_venc_ct) / 10000, 100) not between 1 and 12)
                or
                (int (dt_venc_ct) / 1000000 not between 1 and 31) );

    if sqlcode + loc_nsqlcode <> 0 and sqlcode + loc_nsqlcode <> 100 then
        set loc_nerro = -5; set loc_cerro = 'Erro insert SPAT063 -> ' || char (sqlcode + loc_nerro); goto ERRO;
    end if;

    insert into  spat063 values (99, 'Fim', current date, current time);
    goto SUCESSO;
    ERRO:
    rollback;
    insert into sysprev.spat063 values (loc_nErro, loc_cErro, current date, current time);
    SUCESSO:
    commit;
END;

COMMENT ON SPECIFIC PROCEDURE  pVerificaSPDB063 IS 'Verifica se a SPDB063 está integra'; 

commit;

call  pVerificaSPDB063 ();

Responder a