[firebase-br] Receber Exception de SP com Select
Carlos Andrade
krlosgilson em gmail.com
Qui Jan 26 15:04:24 -03 2017
Olá a todos! A minha dúvida pode ser meio off-topic, mas sinceramente
não sei mais a quem recorrer...
Minha SP retorna alguns registros se os parâmetros de entrada forem
válidos. A mesma faz uma verificação se o usuário logado na sessão do
PHP é realmente o proprietário do registro, caso contrário, a SP retorna
uma Exception da seguinte forma:
-- Exception
CREATE EXCEPTION ERRO_003 'Registro não pertence ao cliente.';
-- Fim (Exception)
-- SP
CREATE OR ALTER PROCEDURE SP_VENDAS (
iidvenda integer,
iidcliente integer)
returns (
odata date,
ovalor numeric(15,2))
as
begin
if ((select ID_CLIENTE from VENDAS where (ID =:iidvenda)) <>
:iidcliente) then
exception ERRO_003;
select DATA, VALOR from VENDAS
where (ID =:iidvenda)
into :ODATA, :OVALOR;
suspend;
end
-- Fim(SP)
Fazendo o Select através do IBexpert, a Exception é gerada normalmente
quando é informado o código do cliente que não pertence à venda que iria
retornar.
O Problema é que no PHP, a Exception não é retornada, percebe-se que a
Exception ocorreu porque não retorna nenhum registro, mas também não
recebo a mensagem do erro. Creio que também não seja erro no meu script
PHP, pois quando chamo a procedure desta forma: "execute procedure
SP_VENDAS(1,1)", a Exception é gerada normalmente, mas o que estou
precisando é fazer uma seleção assim: "select ODATA, OVALOR from
SP_VENDAS(1,1)".
Alguma idéia de como eu poderia alterar a SP para que seja realmente
enviada a mensagem do erro para o PHP?
Mais detalhes sobre a lista de discussão lista