ich habe ein kleines Syntaxproblem, bei dem ich Euch um euren Rat fragen wollte:
Ein generischer Trigger soll bei mir dafür sorgen, dass ein Wert berechnet wird. Vereinfacht dargestellt, hab ich mir das so gedacht:
- Code: Alles auswählen
CREATE OR REPLACE FUNCTION bla.tsv_trigger()
RETURNS trigger AS
$BODY$
BEGIN
new.tsv := setweight(to_tsvector('pg_catalog.english', new.title));
return new;
END
$BODY$;
- Code: Alles auswählen
CREATE TRIGGER tsv_update
BEFORE INSERT OR UPDATE
ON bla.test
FOR EACH ROW
EXECUTE PROCEDURE bla.tsv_trigger('title');
Also ungefähr so:
new.tsv := setweight(to_tsvector('pg_catalog.english', new.TG_ARGV[0]));
Das ist natürlich syntaktisch nicht korrekt. Könnt ihr mir sagen, wie ich auf ein Feld zugreifen kann, dessen Namen ich in einer Variable halte?
Ich möchte gerne über den mit übergebenen Namen das entsprechende Feld in die Gewichtung einrechnen.
Vielen Danke für Eure Hilfe,
az_hf0
