[PostgreSQL] Functie wil niet werken

Pagina: 1
Acties:

  • Gardocki
  • Registratie: Oktober 2000
  • Niet online
Ik zit met een probleem. De volgende functie wil niet werken:

code:
1
2
3
4
5
6
7
8
9
10
CREATE FUNCTION fiatfac() RETURNS trigger AS '
BEGIN
INSERT INTO fiat (factuurnr, akkoord)
VALUES (
     SELECT factuurnr FROM factuur WHERE timestamp = 
     (SELECT max(timestamp) FROM factuur), "Nee"
)
END;
'
language 'plpgsql';

De volgende error krijg ik dan:

ERROR: syntax error at end of input at character 219

Kan iemand me op weg helpen? Ik heb naar verschillende voorbeelden van functies gekeken, maar ik kan de fout niet ontdekken. Ik heb 't geprobeerd op PostgreSQL versie 7.4.2 en 8.0.0 beta 5.

Alvast bedankt.

They made me do it.


  • Gardocki
  • Registratie: Oktober 2000
  • Niet online
Het werkt:

code:
1
2
3
4
5
6
CREATE OR REPLACE FUNCTION fiatfac() RETURNS trigger AS '
BEGIN
INSERT INTO fiat VALUES (NEW.factuurnr,''Nee'');
RETURN NEW;
END;
' LANGUAGE plpgsql;


Bedankt voor de hulp! :+

They made me do it.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ik geloof dat het niet altijd even goed wordt gevonden om een query op de "trigger"-tabel uit te voeren. Ik weet niet of PostgreSQL die beperking heeft, maar het zou me niet verbazen. Er is tenslotte geen garantie van de consistentie halverwege een trigger :)