From: | "rene hankel" <rene(dot)hankel(at)avt-verkehrstechnik(dot)de> |
---|---|
To: | <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | Re: Insert-problem bei zugriff mittels login- |
Date: | 2006-06-02 09:05:46 |
Message-ID: | 002301c68623$bcda7a90$6e3ca8c0@avtndhc01 |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
>
> CREATE OR REPLACE RULE oninsert_nodouble AS
> ON INSERT TO sonstiges.tbl_favoriten
> WHERE 0 < (( SELECT count(tbl_favoriten.id) AS count
> FROM sonstiges.tbl_favoriten
> WHERE tbl_favoriten.anlage_id = new.anlage_id AND
> tbl_favoriten.benutzer_id = new.benutzer_id)) DO INSTEAD
> NOTHING; COMMENT ON RULE oninsert_nodouble ON
> sonstiges.tbl_favoriten IS 'sorge dafuer das es keine
> doppelten eintraege von anlagen und usern in den favoriten gibt';
>
> Ich verstehe die Intension dieser Rule überhaupt nicht. Wenn
> du doppelte Einträge der Spalten benutzer_id und anlage_id
> verhindern willst, nimmst du besser einen UNIQUE INDEX:
>
> CREATE UNIQUE INDEX bla_idx ON foo(col1, col2, ...);
schon richtig, aber was passiert wenn ich einen doppelten insert mache? eine
fehlermeldung oder nicht? die muss ich abfangen ect... es ist so wesentlich
einfacher 4 me, zummal die logik dann in der db liegt und nicht in der
anwendung!
um punkto konsistenz der db moechte ich dies auch der db ueberlassen.
natuerlich ist dein argument stichhaltig, aber ich moechte das so, es sei
denn
es gibt ein echtes manko. aber dies duerfte doch in diesem fall doch nur ein
laufzeitproblem sein?
From | Date | Subject | |
---|---|---|---|
Next Message | Bernd Helmle | 2006-06-02 10:34:13 | Re: Insert-problem bei zugriff mittels login- |
Previous Message | Bernd Helmle | 2006-06-02 08:53:05 | Re: Insert-problem bei zugriff mittels login- |