nao precisa se preocupar com isso...
se voce tratar tudo dentro de um bloco transacional o banco cuida disso pra
vc...
2009/10/9 André Volpato
> Rudinei Dias escreveu:
> >
> > Não...
> > Eu só quero sabe "se" houve um erro no sql, e não "qual" erro.
> >
> > Para ser mais didático:
> >
> > u
Rudinei Dias escreveu:
>
> Não...
> Eu só quero sabe "se" houve um erro no sql, e não "qual" erro.
>
> Para ser mais didático:
>
> update tabela set campo='' where x=5;
>
> -- Se houve um erro no SQL, por exemplo de sintaxe por faltar o ID
> -- gostaria que caísse no exception abaixo.
>
>
> Não entendi bem o que você deseja com a captura: você quer dar um
> tratamento específico para cada possível erro?
>
> Osvaldo
>
Não...
Eu só quero sabe "se" houve um erro no sql, e não "qual" erro.
Para ser mais didático:
update tabela set campo='' where x=5;
-- Se houve um erro no
2009/10/9 Rudinei Dias :
> 2009/10/9 Osvaldo Kussama
>>
>> 2009/10/9 Matheus Ricardo Espanhol :
>> >
>> > update teste set nome = 'texto';
>> > get diagnostics linhas:=row_count;
>> > return linhas;
>>
>> Apenas uma observação: no caso de UPDATE ou DELETE você obter
>> row_cou
2009/10/9 Osvaldo Kussama
> 2009/10/9 Matheus Ricardo Espanhol :
> >
> >update teste set nome = 'texto';
> >get diagnostics linhas:=row_count;
> >return linhas;
>
> Apenas uma observação: no caso de UPDATE ou DELETE você obter
> row_count = 0 não necessariamente significa
complementando
2009/10/9 Sebastian SWC :
> IF FOUND THEN
IF *NOT* FOUND THEN...
um abraço!
--
Atenciosamente,
Sebastian Selau Webber Colombo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin
2009/10/9 Rudinei Dias :
> Olá.
>
> Eu estou com uma dúvida na utilização de exception em meu código plpgsql e
> gostaria de saber como vocês fazem.
>
> Situação 1: retornos de select.
> -- para verificar se um select retornou algo utilizo not found
> ex.
>
> select trim(upper(id)) into vUSUARIO_P
2009/10/9 Tarcísio Sassara
> 2009/10/9 Rudinei Dias :
> > if not found then
> >raise exception 'Usuário_para não localizado.';
> > end if;
>
> está correto.
>
> Para outras queries que não retornam valores você pode forçar um
> retorno usando o RETURNING.
>
> Você pode encontrar mais na do
2009/10/9 Matheus Ricardo Espanhol :
>
>
> 2009/10/9 Rudinei Dias :
>> Situação 2: verificação DML
>> -- esse eu não sei como efetuar.
>> Como verifico sem fazer um select, se um insert/update/delete executou?
>> Procurei um exemplo prático, mas não encontrei algo que fosse exatamente
>> isso.
>
>
humm.
isso é interessante.
é como um affected_rows do php.
vou fazer uns testes.
grato.
2009/10/9 Matheus Ricardo Espanhol
>
>*get diagnostics linhas:=row_count;*
>return linhas;
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgres
2009/10/9 Rudinei Dias :
> Situação 2: verificação DML
> -- esse eu não sei como efetuar.
> Como verifico sem fazer um select, se um insert/update/delete executou?
> Procurei um exemplo prático, mas não encontrei algo que fosse exatamente
> isso.
create or replace function f1()
returns int as $$
d
E se tu fizer?
select into vUSUARIO_PARA count(*) as qtd
from usuarios
where cod_usuario=pCOD_USUARIO_PARA;
if (vUSUARIO_PARA.qtd = 0) then
raise exception 'Usuário_para não localizado.';
end if;
2009/10/9 Rudinei Dias
> Olá.
>
> Eu estou com uma dúvida na utilização de exception em meu cód
2009/10/9 Rudinei Dias :
> if not found then
>raise exception 'Usuário_para não localizado.';
> end if;
está correto.
Para outras queries que não retornam valores você pode forçar um
retorno usando o RETURNING.
Você pode encontrar mais na documentação:
http://www.postgresql.org/docs/8.4/i
Olá.
Eu estou com uma dúvida na utilização de exception em meu código plpgsql e
gostaria de saber como vocês fazem.
Situação 1: retornos de select.
-- para verificar se um select retornou algo utilizo not found
ex.
select trim(upper(id)) into vUSUARIO_PARA from usuarios where
cod_usuario=pCO
14 matches
Mail list logo