Announcement

Collapse
No announcement yet.

Views dyn. auswerten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Views dyn. auswerten

    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 :-)

  • #2
    Hallo,
    Originally posted by MatheStein View Post
    ...Gibt es eine Möglichkeit einer View zu sagen, dass sie in ihr befindende Funktionen Dynamisch, also bei Anfragen an der View, erst auswertet?
    Manchmal hilft es schon einfach mal die Doku zu lesen :
    Originally posted by http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
    Within a stored program or view, CURRENT_USER() returns the account for the user who defined the object (as given by its DEFINER value). This applies to stored programs as of MySQL 5.0.10 and to views as of MySQL 5.0.24. (For older versions, CURRENT_USER() returns the account for the object's invoker.) For stored procedures and functions and views defined with the SQL SECURITY INVOKER characteristic, CURRENT_USER() returns the object's invoker.
    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X