[firebase-br] rows_affected em procedure

Euler Jr. euler em siginformatica.com.br
Sex Set 23 09:38:45 -03 2005


O Firebird possui a variável de contexto ROW_COUNT. Teste-a na sua SP.

[]s
Euler Jr.

Marciano Bandeira escreveu:
> 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
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 






Mais detalhes sobre a lista de discussão lista