
Zitat von
vboehm
Hallo,
ich suche eine Funktion oder einen Operator, die/der mir verrät, ob in einem Record ein bestimmtes Feld vorhanden ist.
Also etwa ein
Code:
...
IF is_defined('NEW.nachname') THEN
...;
END IF;
... mfg Volker
PS: Alternativ/Zusätzlich würde mir vermutlich eine echte Referenz zu PL/pgSQL helfen, die besser (vollständiger) ist, als das Kapitel 39 des PostgreSQL-Manuals.
Du könntest versuchen, darauf zuzugreifen und einen Fehler abfangen.
Code:
test=# \d parts
Table "public.parts"
Column | Type | Modifiers
----------+---------+-----------
part | text |
sub_part | text |
quantity | integer |
Triggers:
trg_insert BEFORE INSERT ON parts FOR EACH ROW EXECUTE PROCEDURE trg_parts()
test=# create or replace function trg_parts() returns trigger as $$begin raise notice 'NEW.my_field : %', NEW.my_field; exception when undefined_column then raise notice 'undefined column'; return NEW; end; $$ language plpgsql;
CREATE FUNCTION
test=*# insert into parts values ('x','y',1);
NOTICE: undefined column
INSERT 0 1
Andreas
Lesezeichen