Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

SQL Server 2016: Triggers, Stored Procedures und Funktionen

Early Binding

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Sichten verwenden Early Binding, was dafür sorgt, dass verwendete Objekte zum Erstellungszeitpunkt vorhanden sein müssen. Temporäre Tabellen können daher nicht verwendet werden.
03:39

Transkript

Für Schichten gilt das Early-Binding-Prinzip. Dies bedeutet, dass Objekte, die Sie in einer Schicht verwenden möchten, zu diesem Zeitpunkt, wenn Sie die Schicht anlegen möchten, schon existieren müssen. Bei Stored Proceduren ist dies zum Beispiel anders, da müssen die Objekte erst existieren, wenn Sie die Stored Procedure ausführen. Das Early-Binding-Prinzip hat den Nachteil für Sichten, dass Sie keinen Zugriff auf temporäre Tabellen haben, weil von den ist nicht klar, ob sie wirklich existieren, wenn Sie die View ausführen und es ist unerheblich, ob sie existieren, wenn Sie die View erzeugen. Das bedeutet, innerhalb eines Views dürfen Sie nur auf permanente Tabellen, andere Schichten und Funktionen zugreifen. Sie können natürlich nach Erstellung einer Schicht die darunterliegenden Elemente in der Tat löschen oder modifizieren. Das führt aber in der Regel zu einer Fehlersituation und kann mit SCHEMABINDING, das zeige ich Ihnen später, auch deswegen unterbunden werden. Um Ihnen die genaue Funktionsweise des Early Bindigs zu zeigen, hab ich das nächste Script geladen. Zunächst einmal lege ich hier, nachdem die Datenbank existiert, eine kleine Tabelle an und füge einige Dummy- Zahlen in dieser Tabelle ein und kann dann entsprechend auf dieser Tabelle eine View anlegen. So wenn ich dann Zugriff mache, dann sehen Sie, es gibt drei Spalten hier. Wenn ich jetzt hier hingehe und eine weitere Spalte in die Tabelle einfüge, dann habe ich hier das Problem, dass ich entsprechend, dann ein SELECT auf dem View mache, nach wie vor nur drei Spalten habe. In dem View steht allerdings SELECT *. Das heißt, wenn ich das ausführe, bekomme ich natürlich hier Spalten. In View nach wie vor nur drei, das heißt, hier hat das Early Binding zugeschlagen. Das bedeutet, zu dem Zeitpunkt, als ich den View angelegt habe, gab es in der Tabelle drei Spalten und deswegen liefert mir der View, wenn ich ihn verwende, auch in der Tat nur drei Spalten. Dann kann ich das natürlich irgendwie beheben. Eine Möglichkeit wäre, ich würde ALTER VIEW aufrufen, das würde funktionieren. Wenn ich dann auf den View zugreife bekomme ich vier Spalten. Eine andere Alternative wäre, ich würde die sp_refreshview Soterd Procedure verwenden, der ich als Parameter den Namen des Views übergebe. Das würde genau das gleiche Ergebnis erzeugen. So oder so werden es am Ende dann vier Spalten, die ich dann habe. Was ich auch zeigen kann, ich kann zeigen zum Beispiel, dass ich mit einem SELECT * INTO #t1 aus der Tabelle, die ich hier angelegt habe nämlich [dbo] [Tickets], kann ich eine temporäre Tabelle erzeugen. Das funktioniert, ich kann sagen SELECT * FROM #t1 und ich bekomme exakt das Ergebnis. Was ich jetzt nicht machen kann, ich klaue mir ein bisschen Code von da oben, ich kann nicht sagen, ich möchte #t1 in dem View verwenden. Das wird mit einem Fehler quittiert. Schichtungfunktionen sind für temporäre Tabellen nicht zulässig. Das heißt, ich kann aufgrund des Early Bindings oder als Konsequenz des Early Bindigs entsprechend nicht auf diese temporäre Tabelle zugreifen.

SQL Server 2016: Triggers, Stored Procedures und Funktionen

Nutzen Sie in SQL Server Trigger, gespeicherte Prozeduren, Late Binding, Fehlerbehandlung sowie Scalar- und Tabellenwertfunktionen.

3 Std. 12 min (44 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:08.08.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!