Ich denke die einzige Möglichkeit die Du hast, is updates nur durch stored functions abzuwickeln. Innerhalb der Funktion prüfst Du dann ob der Benutzer den Datensatz der geänder werden soll auch dem aktuellen Benutzer "gehört" (das setzt natürlich voraus, dass Du den Ersteller des Datensatzes auch gespeichert hast)
Um den Update der Tabellen "manuell" (also via einem UPDATE statement) zu unterbinden, musst Du für alle Benutzer das UPDATE privileg wegnehmen. Die Funktion die den Update dann macht, wird als angelegt mit dem Besitzer der Tabellen und dem Zusatz "SECURITY DEFINER". Damit läuft die Funktion dann mit den Rechten des Tabellen-Besitzers und kann den UPDATE machen.
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'
Lesezeichen