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...
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
Curtir tópico
+ 0
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.
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.
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
Clique aqui para fazer login e interagir na Comunidade :)