Fórum Problema com domain na criação de triggers e também de stored procedures #415954

27/04/2012

0

Estou com problema na criação de triggers e stored procedures usando domains, principalmente os do tipo boolean que são emulados pelos domains, segue abaixo a minha trigger com o seguinte erro:


create trigger trg_itens_bi for itens before insert
as
declare variable v_operacao d_operacao_doc;
begin
select operacao
from documentos
where codigo = new.produto
into :v_operacao;

if (:v_operacao = E) then
update produtos
set saldo = saldo + new.quantidade
where codigo = new.produto;

if (:v_operacao = S) then
update produtos
set saldo = saldo - new.quantidade
where codigo = new.produto;

end


Erro:


Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 3, char 33.
d_operacao_doc.


O domain d_operacao_doc está como varchar(1) check (value in (E, S), está corretamente cadastrado no banco de dados.


Espero ajuda!
Lucas Oliveira

Lucas Oliveira

Responder

Posts

27/04/2012

Deivison Melo

Bom dia,

Ao invés de usar o d_operacao_doc deverá usar o tipo do campo (varchar, integer e etc)...
Responder

Gostei + 0

27/04/2012

Lucas Oliveira

Bom dia Deivison,

Ao substituir o domain por um char(1) ou varchar(1) ele dá certo, porém não funciona a função booleana dela. Como eu criei uma procedure com exception de usuários onde só o usuário que tem as permissões podem alterar, sempre dá erros, como se o usuário não tivesse permissões. Ou seja, a melhor forma seria utilizar os domains, porém no Ibexpert que utilizo parece que não aceita ou falta a mim colocar mais alguma coisa junto com o domain para que possa dar certo.

Espero ajuda.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar