Hi,
gibt es eine Möglichkeit eine generische UPDATE-Triggerfunktion in einer prozeduralen Sprache wie PLSQL oder PLPYTHON zu schreiben, die eine der Spalten auf ihren DEFAULT-Wert setzt (der bei CREATE TABLE angegebene DEFAULT-Wert), etwa so:
.....
NEW.id='default'
....
RETURN NEW;
Danke
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
mal so als Fahrplan ...Code:test=*# create table bla (id serial, val int default 5); NOTICE: CREATE TABLE will create implicit sequence "bla_id_seq" for serial column "bla.id" CREATE TABLE Zeit: 2,391 ms test=*# create or replace function bla_insert() returns trigger as $$begin raise notice 'bla %',new.val; NEW.val := (select column_default from information_schema.columns where table_name = tg_table_name and column_name = 'val'); return NEW; end; $$ language plpgsql; CREATE FUNCTION Zeit: 0,451 ms test=*# create trigger trg_bla before insert on bla for each row execute procedure bla_insert(); CREATE TRIGGER Zeit: 0,630 ms test=*# insert into bla (val) values (33); NOTICE: bla 33 INSERT 0 1 Zeit: 5,040 ms test=*# select * from bla; id | val ----+----- 1 | 5 (1 Zeile)
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Hmm, ev. reicht auch einfach DEFAULT aus, ohne Hochkommas.
Im SQL selbst genügt das, aber ich weiß nicht, ob die Datenbank das so spät im Trigger noch mal ersetzt.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Ah ok, gut zu wissen.
Danke für die Info.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen