Forum: PC-Programmierung PostgreSql: Rule greift nicht


von Mehmet K. (mkmk)


Lesenswert?

Servus allerseits

Ich wollte in einer PostgreSql Datenbank (vers. 9.1) mit einer RULE das 
Einfügen von weiteren rows verhindern.
1
CREATE OR REPLACE RULE no_ins_sys_def AS ON INSERT TO sys_defaults DO NOTHING;
Leider kann ich ohne weiteres INSERTs ausführen.

Dann habe ich eine RULE erstellt, um auch das Löschen zu verhindern.
1
CREATE OR REPLACE RULE no_del_sys_def AS ON DELETE TO sys_defaults DO NOTHING;
Aber auch hier kann ich die INSERTs, die ich gar nicht haette einfügen 
sollen, wieder löschen.

Wenn mir bitte jemand einen Hinweis geben könnte, wo ich den Fehler 
habe. Danke!

von Peter II (Gast)


Lesenswert?

warum mit rules arbeiten und nicht mit rechten?

Ich würde den nutzer einfach keine delete oder insert Rechte geben.

von Mehmet K. (mkmk)


Lesenswert?

Gute Idee. Werde ich machen.
Aber wieso die RULE nicht greift, waere für mich schon von Interesse.

von Sven P. (Gast)


Lesenswert?

Weil du mit 'DO NOTHING' einen weiteren Abfragebaum erzeugst, zusätzlich 
zum bestehenden Abfragebaum. Das ist gleichbedeutend mit 'DO ALSO 
NOTHING'.

Probier mal 'DO INSTEAD NOTHING'.

von Mehmet K. (mkmk)


Lesenswert?

\o/ Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.