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

In Sichten sortieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Auch wenn es nicht empfehlenswert ist, kann in Sichten auch mittels ORDER BY und TOP sortiert werden.
03:36

Transkript

Das nächste Script, was ich Ihnen zeige, beschäftigt sich mit dem Sortieren innerhalb von Views. Ich kann wieder hier kurz den Block ausführen, dass die Datenbank wieder frisch aufgesetzt wird. Der Punkt ist, Sie sollten keine ORDER BY in Views verwenden. Das heißt, es geht normalerweise auch gar nicht. Wenn ich zum Beispiel versuche ein CREATE VIEW anzulegen, wo entsprechend ein ORDER BY enthalten ist, bekomme ich eine entsprechende Fehlermeldung. Die ORDER BY-Klausel ist in Sichten Inlinefunktionen, abgeleiteten Tabellen und so weiter, nur dann gültig wenn auch TOP, OFFSET oder FROM XML angegeben wird. Das heißt, ich könnte hingehen und einen View in der Tat anlegen, in dem auch sortiert wird, wenn ich ein TOP mitverwende. Zum Beispiel das hier sollte in der Tat funktionieren. Es liefert mir entsprechend genau zehn Datenbanken, maximal zehn Datenbanken, die nach Name sortiert sind. Hier habe ich eins das Problem, warum nehme ich gerade die zehn, es ist relativ willkürlich. Deshalb könnte man auch die Idee verfeinern und sagen, bei ORDER BY benutze ich einfach TOP 100 PERCENT. Wenn ich das allerdings laufen lasse, dann werden Sie sehen, dass der SQL-Server hier ein klein interessante Back hat. Und zwar sage ich in dem SELECT innerhalb des Views SELECT und so weiter und so fort ORDER BY [name]. Das heißt, die Namen müssten hier sortiert sein, das sind sie nicht. Zum Vergleich, wenn ich nur das SELECT-Statement ausführe, sieht das Ergebnis ganz anders aus. Wenn ich den View benutze, der genau die gleiche SELECT-Anweisung beinhaltet, sieht das Ergebnis anders aus. Also hier scheint etwas nicht zu stimmen, das geht seit einigen Versionen des SQL-Servers so. Schicht ist das relativ unbefriedigend das Ergebnis. Was ich jetzt machen könnte um trotzdem unbedingt ein ORDER BY korrekt in meinem View unterzubringen, ich könnte mir eine Unterabfrage vorstellen, die mir die Anzahl ermittelt, das wären dann diese 14. Das könnte ich quasi hier innerhalb des TOPS verwenden und wenn ich das dann entsprechend laufen lasse, bekomme ich das korrekte Ergebnis, wenn ich zum Schluss ein SELECT auf dem View mache. Nichtsdestotrotz versuchen Sie ORDER BY in Views zu vermeiden, wenn es geht. Wie gesagt, es kann sein, dass die Daten mehrfach sortiert werden. Das bedeutet, Sie haben mehr Arbeit und trotzdem zum Schluss nur die Sortierung, die Sie letztendlich haben, die ich hier in dem SELECT-Statement angebe, also ich könnte zum Beispiel hingehen und sagen, ich möchte nach database_id sortieren und das auch noch absteigend. Dann bekomme ich natürlich das Ergebnis exakt auch in der Reihenfolge. Oder ich könnte das entsprechend natürlich aufsteigend sortieren, dann bekomme ich eine andere Reihenfolge und die Sortierung innerhalb des Views wird für das Gesamtergebnis dann mehr oder minder ignoriert und damit habe ich nicht das erreicht, was ich erreichen wollte. Letztendlich der View sollte nach Möglichkeiten Filter haben, sollte auch JOINT haben, sollte alles mögliche haben, aber sollte nach Möglichkeit kein ORDER BY verwenden. Das könnte auch der Grund sein, warum dieser Fehler quasi so lange schon im SQL-Server existiert, ohne dass er behoben wurde. Wahrscheinlich ist es den Wenigsten aufgefallen. Nichtsdestotrotz mein guter Tipp: Verwenden Sie kein ORDER BY in Views.

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!