Um resultado de um select dentro de uma função deve ser atribuído a uma variável. Assim, vc deve criar uma variável (por exemplo, v_saldo) para receber o valor de saldo e modificar seu select para:
select into v_saldo sd.saldo from.... Atenciosamente, Daniel P. Julião 2009/10/16 Bruno Carneiro <[email protected]> > > Gente, primeira vez que estou lidando com trigger... > > A tabela saldodiario tem o campo saldo. CONFIRMADO. > > > Erro de SQL: > > ERROR: syntax error at "saldo" > DETAIL: Expected record variable, row variable, or list of scalar > variables > following INTO. > CONTEXT: compilation of PL/pgSQL function "ins_mov" near line 8 > > Indicação de entrada : > > CREATE FUNCTION ins_mov() RETURNS trigger AS $$ > DECLARE > vsaldo NUMERIC; > > BEGIN > -- Verifica se saldo deste dia á existe > SELECT sd.saldo FROM saldodiario AS sd > WHERE sd.conta = NEW.conta AND sd.data = NEW.data > INTO saldo; > > IF vsaldo IS NULL THEN > INSERT INTO saldodiario (conta,data,saldo) VALUES > (NEW.conta,NEW.data,NEW.montante); > > ELSE > UPDATE saldodiario AS sd SET sd.saldo = vsaldo+NEW.montante > WHERE sd.conta=NEW.conta AND sd.data=NEW.data > > END IF; > > RETURN NULL; > > END; > $$ LANGUAGE plpgsql; > -- > View this message in context: > http://www.nabble.com/Trigger-Procedure---ERRO-tentando-INSERT-tp25925330p25925330.html > Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
