Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: View verhält sich merkwürdig bis idiotisch :-|

  Alt 1. Apr 2004, 08:48
Zitat von Bart Simpson:
Heisst Das dass ich _alle_ Views (die auf die Tabelle zugreifen) aktualisieren muss, wenn ich eine Tabelle verändere??? Auch wenn's die View(s) gar nicht betrifft, weil ich z.B. nur weitere Felder hinzugefügt habe?
Nein, nur die abhängigen Tabellen sind betroffen.
CREATE VIEW xyView AS SELECT TabelleA.*, TabelleB.cxdf FROM TabelleA INNER JOIN TabelleB ON ....

Bei Änderungen an TabelleA muss die View auf jeden Fall refreshed werden.
TabelleB ist weniger kritisch, da nur ein Feld entnommen wird.
Die View wird sozusagen intern compiliert und als Objektcode gespeichert.
Und wenn dann der * in der Feldliste auftaucht wirds kritisch.

Zitat von Bart Simpson:
Trotzdem, vielen Dank für den Hinweis. Nur noch eine Frage: Ist das eine persönliche "Entdeckung" oder gibt's das auch irgendwo nachzulesen? Z.B. in der Online Hilfe zum SQL Server?
Na ja, aber sehr versteckt:
Hinweise (Topic CREATE VIEW)
Wenn eine Sicht von einer Tabelle (oder Sicht) abhängt, die gelöscht wurde, erzeugt SQL Server eine Fehlermeldung, falls jemand versucht, die Sicht zu verwenden. Wenn eine neue Tabelle (oder Sicht), deren Struktur sich nicht von der vorherigen Basistabelle unterscheidet, erstellt wird, um die gelöschte zu ersetzen, wird die Sicht wieder verwendbar. Wenn sich die Struktur der neuen Tabelle (oder Sicht) ändert, muss die Sicht gelöscht und neu erstellt werden.
Andreas
  Mit Zitat antworten Zitat