我试图捕获postgresql存储过程中的异常。 没有我的“其他”异常,我的程序正在工作。但不要与它。Postgresql,异常返回错误
这是我的代码:
create or replace function test(aaa varchar)
returns table (mmm integer, xxx integer)
as $body$
declare
ccc varchar(250);
ddd integer;
xxx integer;
mmm integer;
begin
select
srv_int_id
into
mmm
from
srv_service
where
srv_var_nom = aaa;
ddd := 1/0;
xxx := test2(9000,'AAA');
return query select
xxx,
mmm;
exception
when others then
select ccc = 'Erreur ' || sqlstate || ' dans la procedure test.sql';
return query select 0,0;
end;
$body$ language plpgsql;
在松鼠,我哈瓦这个错误
Error: ERREUR: la requête n'a pas de destination pour les données résultantes Indice : Si vous voulez annuler les résultats d'un SELECT, utilisez PERFORM > à la place. Où : fonction PL/pgsql p_ech_mes_lire_info_message(character varying), ligne > 44 à instruction SQL SQLState: 42601 ErrorCode: 0
但我不明白。你有好主意吗 ?谢谢。
返回查询是一种允许返回表格(记录集)的返回形式 –
@RomanTkachuk谢谢,我站在更正的位置:) – Alfabravo
感谢您的回答。它帮助我很多。 – Paladice