Hallo,
ich habe eine kurze Frage :-)
Folgendes Problem ist gegeben (Pseudo-Code):
Ich habe eine Tabelle "Tab(Wert, Benutzer)" und in ihr stehen für diverse Datenbanknutzer Werte.
Nun möchte ich sowas machen wie "SELECT * FROM Tab WHERE CURRENT_USER() LIKE Benutzer"
Also für den gegenwärtigen Nutzer alle seine Werte ausgeben was soweit auch wunderbar klappt. Nun wollte ich eine allgemeine View der Form:
CRATE VIEW v AS (SELECT * FROM Tab WHERE CURRENT_USER() LIKE Benutzer);
und hier taucht das Problem auf. Das "CURRENT_USER()" scheint nicht dynamisch ausgewertet zu werden, d.h. das direkt bei der Definition der View der Wert von "CURRENT_USER()" anstell der Funtkion "CURRENT_USER()" tritt, was zur folge hat, dass jeder Datenbanknutzer über diese View nur an die Daten des Nutzers kommt, der die View erstellt hat.
Gibt es eine Möglichkeit einer View zu sagen, dass sie in ihr befindende Funktionen Dynamisch, also bei Anfragen an der View, erst auswertet?
Schönes Wochenende an alle :-)
ich habe eine kurze Frage :-)
Folgendes Problem ist gegeben (Pseudo-Code):
Ich habe eine Tabelle "Tab(Wert, Benutzer)" und in ihr stehen für diverse Datenbanknutzer Werte.
Nun möchte ich sowas machen wie "SELECT * FROM Tab WHERE CURRENT_USER() LIKE Benutzer"
Also für den gegenwärtigen Nutzer alle seine Werte ausgeben was soweit auch wunderbar klappt. Nun wollte ich eine allgemeine View der Form:
CRATE VIEW v AS (SELECT * FROM Tab WHERE CURRENT_USER() LIKE Benutzer);
und hier taucht das Problem auf. Das "CURRENT_USER()" scheint nicht dynamisch ausgewertet zu werden, d.h. das direkt bei der Definition der View der Wert von "CURRENT_USER()" anstell der Funtkion "CURRENT_USER()" tritt, was zur folge hat, dass jeder Datenbanknutzer über diese View nur an die Daten des Nutzers kommt, der die View erstellt hat.
Gibt es eine Möglichkeit einer View zu sagen, dass sie in ihr befindende Funktionen Dynamisch, also bei Anfragen an der View, erst auswertet?
Schönes Wochenende an alle :-)
Comment