Update auf Views

Ich habe verschiedene Nutzer und habe die Sicht auf die Daten mittels verschiedener Views eingeschränkt (Zeilenweise). Nun möchte ich Änderungen auch nur auf diese Daten zulassen.
Bei DB2 gibt es da eine “Checked Option”, die sicherstellt, dass Updates und Inserts am Ende wieder zu dem View passen.
Gibt es eine Möglichkeit diese Funktionalität ohne Trigger oder Stored Proecedures bereit zu stellen?


Thx & MfG Nico Gier

Ich glaube da musst du auf “Rules” zurückgreifen.

Guck mal ins Manual.

Crypi

Das hab ich schon, nur kann man (soweit ich gelesen haben) mit Rules nicht auf die Beschränkungen der Sicht zurückgreifen --> man soll nur die Tupel ändern können, die man durch die Sicht auch sehen kann.

oder denke ich da falsch?

Hallo Nico,

sollen User oder Gruppen von User unterschiedliche Privilegien haben, arbeitet man mit ROLLEN, GRAND und verschiedenen SCHEMEN. Schau Dir mal die genannten Themen in der Doku an.

VIEW sind in PostgreSQL nur vordefinierte Queries und haben keine zusätzliche Constraint-Eigenschaften. Allerdings gibt im Syntax von CREATE TABLE ein Constraint CHECK. Vielleicht ist es möglich den in Verbindung mit ROLLEN zu nutzen. UPDATE enthält eine WHERE-Clausel, indem man die Privilegien von Usern in Verbindung mit Rollen auch bestimmen kann. Constraints bezüglich INSERT dürfte ohne eine spezielle Funktion wohl nicht funktionieren.



mfg

fristo