[firebase-br] Trigger x Select ... Roger 20/04/06
Roger
roger em dgpram.com.br
Qui Abr 20 13:50:06 -03 2006
Olá Pessoal, boa tarde !!
Me desculpem pela ignorância (talvez seja alguma falta minha em relação ao
SQL), mas esta dúvida me deixou intrigado, e
se alguém puder me ajudar ...
No "trigger" abaixo, se fizer o select para "condicoes" uma única vez, para
uso nas instruções que se seguirão, as
variáveis que seria alimentadas pelo mesmo, parecem não estar.
Só consigo o resultado colocando o select dentro do "if".
Espero que tenha sido claro o suficiente!
Alguém saberia me explicar o motivo??
Obrigado,
[]´s Roger
CREATE TRIGGER REQUISICOES_AU0 FOR REQUISICOES
ACTIVE AFTER UPDATE POSITION 0
AS
declare variable ...
begin
==> /* GOSTARIA DE TER ESTE SELECT ANTES UMA ÚNICA VEZ PARA SATISFAZER
VÁRIAS ROTINAS ABAIXO */
============================================================================
===================
select c.cnd_parcelas, c.cnd_entrada, c.cnd_dias01, c.cnd_dias02,
c.cnd_dias03, c.cnd_dias04,
c.cnd_dias05, c.cnd_dias06, c.cnd_dias07, c.cnd_dias08,
c.cnd_dias09, c.cnd_dias10
from condicoes c where c.cnd_id = new.cnd_id
into nparcelas, entrada, dias01, dias02, dias03, dias04, dias05,
dias06, dias07, dias08, dias09, dias10;
/* inserir MF (a vista) */
if (new.req_valorrecebido > 0) then
begin
==> /* SE NÃO FIZER O SELECT AQUI, a variável "nparcelas" me parece estar
sem valor */
============================================================================
=============
select c.cnd_parcelas, c.cnd_entrada, c.cnd_dias01, c.cnd_dias02,
c.cnd_dias03, c.cnd_dias04,
c.cnd_dias05, c.cnd_dias06, c.cnd_dias07, c.cnd_dias08,
c.cnd_dias09, c.cnd_dias10
from condicoes c where c.cnd_id = new.cnd_id
into nparcelas, entrada, dias01, dias02, dias03, dias04, dias05,
dias06, dias07, dias08, dias09, dias10;
execute procedure insere_financeiro('Q',new.req_id,'REQ', '1/' ||
nparcelas, new.req_valorrecebido, '001001001', 1);
=================
sem o select dentro do if não funciona!!
end
/*/
...
end
--------------------------------------------------
Esta mensagem foi verificada por Ultralink-Scanner
e nenhum virus foi encontrado.
Web Server Ultralink: http://www.ultralink.com.br
--------------------------------------------------
Mais detalhes sobre a lista de discussão lista