Fórum UPDATE dentro da PROCEDURE (Saber se afetou algum registro) #54189

08/12/2005

0

Olá galera,

Estou fazendo UPDATEs dentro de uma procedure e um desses UPDATEs
preciso saber se foi afetado algum registro e caso não afetou um registro eu preciso fazer um INSERT. Sei que tem um comandinho para isso mas não estou me lembrando.

O que eu podia estar fazendo é verificar se existe fazendo um SELECT assim: select count(*) from TABELA where CAMPO=1 into :V_CONTA
ai é só fazer um IF (:V_CONTA) = 0 THEN ....

Mas sei que existe um comando que simplifica isso, saiu no livro do Carlos H Cantú mas não me lembro, se algum poder me ajudar fico agredecido.

Obrigado...


Pennetta

Pennetta

Responder

Posts

08/12/2005

Romulocpd

Olá,

Acho que é rows_affected;

Após o update vc joga isso numa variavel.

LINHAS = rows_affected;

IF LINHAS > 0

blá blá blá.

Este é o caminho se nao for exatamente este o comando.


Responder

Gostei + 0

08/12/2005

Pennetta

Olá, o comando é row_count
Valeu amigo, através do que vc tinha falado deu para achar essa opção.
Fiz uma demonstração para quem precisar um dia, um teste básico.
create procedure SP_TESTE
returns (DESCR VARCHAR(40))
as
begin
  UPDATE TB_PF
  SET
    DTNASC=DTNASC
  WHERE
    ID_PESSOA in (2, 4);

  if (row_count > 0) then
    DESCR = ´Atualizado.´;
  else
    DESCR = ´Falha na atualização.´;

  suspend;

end



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar