[firebase-br] rows_affected em procedure

Marciano Bandeira marciano.bandeira em bol.com.br
Qui Set 22 14:07:51 -03 2005


Boa tarde senhores

Em meus sistemas, uso Stored Procedure para fazer a gravação dos cadastros,

Ex:
 
  Grupos

CREATE PROCEDURE GRAVA_GRUPOS (
    CODIGO SMALLINT,
    DESCR CHAR(20))
RETURNS (
    CODGRP SMALLINT)
AS
begin
  if (:CODIGO = 0) then
    begin
      Update Parametros Set
        Parametros.QtGrp = Parametros.QtGrp + 1;

      Select First 1 Parametros.QtGrp From Parametros into :CODIGO;

      Insert Into Grupos Values (:CODIGO,:DESCR);
    end
  Else
    begin
      Update Grupos Set
        DESCR = :DESCR
      Where
        CODIGO = :CODIGO;
    end

  CODGRP = :CODIGO;
  Suspend;
end

... eu gostaria de saber se existe alguma forma, logo apos o update eu saber se algum registro da tabela sofreu alteração, exemplo...

    begin
      Update Grupos Set
        DESCR = :DESCR
      Where
        CODIGO = :CODIGO;
       
       If (rows_affected = 0) then
         Insert into Grupos (:CODIGO,:DESCR)
    end

tem como fazer isso dentro da procedure? pois desta forma não compila.
100+
Obrigado pela atenção
Marciano Bandeira


Mais detalhes sobre a lista de discussão lista