Fórum Retorno True/False para Stored Procedure #55062
01/02/2006
0
Pessoal, fiz a seguinte Stored Procedure:
Como parâmetros da Stored eu passo: ID_L, TIPO_ARQ, CRC, DTHR.
Esta stored procedure funciona perfeitamente, mas gostaria de saber o seguinte:
1- Como fazer com que seja retornado ao programa a informação de que esta stored foi executada com sucesso (tipo True/False)?
2- Existe [b:0fad3e5b0f]try except[/b:0fad3e5b0f] no Firebird? Gostaria de implementar algo assim nesta Stored...
Valeu!
begin SELECT COUNT(*) AS QTD FROM CONTROLE_VERSAO WHERE (CONTROLE_VERSAO.ID_PAI = :ID_L) AND (CONTROLE_VERSAO.TIPO_ARQUIVO = :TIPO_ARQ) INTO :QTD; if (QTD = 0) then begin INSERT INTO CONTROLE_VERSAO (ID_PAI, TIPO_ARQUIVO, CRC, DATA_HORA) VALUES (:ID_L, :TIPO_ARQ, :CRC, :DTHR); end else begin UPDATE CONTROLE_VERSAO SET ID_PAI = :ID_L, TIPO_ARQUIVO = :TIPO_ARQ , CRC = :CRC, DATA_HORA = :DTHR WHERE CONTROLE_VERSAO.ID_PAI = :ID_L AND CONTROLE_VERSAO.TIPO_ARQUIVO = :TIPO_ARQ; end suspend; end
Como parâmetros da Stored eu passo: ID_L, TIPO_ARQ, CRC, DTHR.
Esta stored procedure funciona perfeitamente, mas gostaria de saber o seguinte:
1- Como fazer com que seja retornado ao programa a informação de que esta stored foi executada com sucesso (tipo True/False)?
2- Existe [b:0fad3e5b0f]try except[/b:0fad3e5b0f] no Firebird? Gostaria de implementar algo assim nesta Stored...
Valeu!
Rtava
Curtir tópico
+ 0
Responder
Posts
01/02/2006
Rodolpho123
Use a variável [b:6f2f425b1d]row_count[/b:6f2f425b1d] para instanciar uma variável de saída, ex:
if (row_count <> 0) then Result = ´T´; else Result = ´F´;
Responder
Gostei + 0
04/02/2006
Orpolonio
A resposta de nosso amigo esta correto, mas;;;;;
Cuidado com o select count(*)
Este varre toda a tabela, nem quero pensar em vc ter 10 milhoes de registros nesta tabela, vai matar seu servidor
Cuidado com o select count(*)
Este varre toda a tabela, nem quero pensar em vc ter 10 milhoes de registros nesta tabela, vai matar seu servidor
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)