2010/4/4 Bruno Carneiro :
>
> Estou com outro problema. Tenho uma função em pgsql que é usada tanto no
> update quanto no insert de uma tabela. Estou testando o insert e estou
> recebendo um erro quando tento avaliar se a variável OLD é null.
>
> ERRO: record "old" is not assigned yet
> DETAIL: T
Bruno Carneiro wrote:
>
> Mudei a linha 11 para
>
> IF (TG_OP == 'UPDATE') THEN
>
Opa desculpa, percebi que o erro é o operador. O certo é = ao invés de ==.
Da segunda forma deu certo, mas ainda não entendo porque da primeira forma
não deu.
--
View this message in context:
http://old.nab
Estou com outro problema. Tenho uma função em pgsql que é usada tanto no
update quanto no insert de uma tabela. Estou testando o insert e estou
recebendo um erro quando tento avaliar se a variável OLD é null.
ERRO: record "old" is not assigned yet
DETAIL: The tuple structure of a not-yet-assign
Rafael Domiciano wrote:
>
> Provavelmente a sua função venda.calculosVenda utiliza informações da
> tabela
> que você está alterando.
>
>
Ah! Claro! Claro!
A função calculosVenda usa exatamente o campo valor_compra que está sendo
alterado.
--
View this message in context:
http://old.nab
Provavelmente a sua função venda.calculosVenda utiliza informações da tabela
que você está alterando. Acontece que quando você chama ela no before a
função enxerga os valores antigos ainda, afinal, a modificação não foi
aplicada na tabela. Entendeu ?!
2010/4/3 Bruno Carneiro
>
>
>
> Rafael Domic
Rafael Domiciano wrote:
>
>
> Você está fazendo a chamada da trigger BEFORE ou AFTER UPDATE?
>
>
Eu estava fazendo BEFORE, mas depois que você perguntou eu fiz AFTER e
funcionou.
Imagino que o problema seja que no instante BEFORE a variavel NEW ainda é
igual a variavel OLD. Por isso o coma
Olá Bruno,
Você está fazendo a chamada da trigger BEFORE ou AFTER UPDATE?
Att,
Rafael
2010/4/3 Bruno Carneiro
>
> 4. Tentei OLD.idvenda e NEW.idvenda e em nenhum caso deu certo. Não é
> possível modificar o campo idvenda durante a edição do veículo.
>
>
> Bruno Carneiro wrote:
> >
> >
> >
> >
4. Tentei OLD.idvenda e NEW.idvenda e em nenhum caso deu certo. Não é
possível modificar o campo idvenda durante a edição do veículo.
Bruno Carneiro wrote:
>
>
>
> 3. Pensei que a a tabela veiculo não estivesse com o idvenda correto. Mas
> está, fui manualmente na tabela veiculo e vi que o id
CREATE OR REPLACE FUNCTION veiculo.update_veiculo() RETURNS trigger AS $$
BEGIN
IF (OLD.valor_compra != NEW.valor_compra) THEN
PERFORM venda.calculosVenda(OLD.idvenda);
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
Essa função é chamada no UPDATE da tabela
huahahuhauaerro básico... desculpe pessaL!
2009/7/9 Euler Taveira de Oliveira
> Ivan Wilhelm escreveu:
> > create trigger servicoDataAtualizacao after update on servico for each
>^^^
> É claro que ele não vai alterar. Ali deve ser _before_ porque se vo
Ivan Wilhelm escreveu:
> create trigger servicoDataAtualizacao after update on servico for each
^^^
É claro que ele não vai alterar. Ali deve ser _before_ porque se você dispara
o gatilho *após* a atualização as alterações no registro NEW *não* farão
efeit
desculpe George, só escrevi o nome errado.mas a function na trigger está com
o nome correto e mesmo assim nao atualiza.
2009/7/9 George Silva
> Os nomes dos campos não estão batendo. Na tabela é data_alteracao e no
> trigger data_atualizacao.
>
> George
>
> 2009/7/9 Ivan Wilhelm
>
>> Olá amigos
Os nomes dos campos não estão batendo. Na tabela é data_alteracao e no
trigger data_atualizacao.
George
2009/7/9 Ivan Wilhelm
> Olá amigos
> Estou com o PostgreSQL 8.4 e tendo um problema na criação de uma trigger.
>
> *minha tabela:*
>
> servico
> _
> codigo int
Olá amigos
Estou com o PostgreSQL 8.4 e tendo um problema na criação de uma trigger.
*minha tabela:*
servico
_
codigo integer
nome varchar(100)
data_cadastro timestamp default current_timestamp
data_alteracao timestamp default current_timestamp
*Criei a seguinte f
14 matches
Mail list logo