erro nao criação de trigger

05/09/2018

1

Ola boa tarde estou criando uma trigger so que esta dando erro
uso i ibexpert firebird 2.5

AS
begin
if (new.pedi_stat = ''''S'''') then
update pedi set pedi_data_entr = current_date where pedi_codi = old.pedi_codi;
end

estou fazendo isso no before update
ai quando vou comitar da o seguinte erro
This column cannot be updated because it is derived from an SQL function or expression.
attempted update of read-only column.

alguem pode me ajudar ?
Responder

Posts

Fala Abner! Olha, analisando apenas esse trecho que você postou e a mensagem de erro apresentada, o IBExpert está indicando que a coluna "pedi_data_entr" é de alguma forma read-only (não pode receber um valor explicitamente). Tenta dar uma analisada nesse campo e se ele apresenta alguma restrição, se é um campo calculado ou algo do tipo. Indo além, outra coisa que vejo é que você está chamando uma instrução de Update dentro de um evento também relacionado a update (Before Update). Se isso tudo se referir à mesma tabela, tome cuidado, pois isso pode causar redundância de processos. Qualquer coisa poste um feedback por aqui.

Forte abraço!
Responder
O campo pedi_data_entr deve ser um campo calculado (COMPUTED BY)
Responder