Ich habe kürzlich eine Lektion zum Erstellen gespeicherter Prozeduren zusammengestellt. Es ist Teil meines entpackten Kurses für gespeicherte Prozeduren. Wenn Sie gespeicherte Prozeduren erstellen, können Sie Logik sicher kapseln und gleichzeitig dem Clientprogramm eine einfache Möglichkeit geben, sie auszuführen.
Ich habe diesen Spaziergang zusammengefügt, damit Sie sehen, wie der gesamte Prozess funktioniert. Ich denke, bevor wir zu tief in die Erstellung gespeicherter Prozeduren eintauchen, ist es zunächst sinnvoll, das gesamte Bild zu sehen.,
Erstellen Sie nach dem Ansehen dieses Videos gespeicherte Prozeduren zum Üben. Sie finden heraus, ist nicht so schwer wie jeder macht sie zu sein, und Sie werden eine der Fähigkeiten ein Junior DBA wissen sollte.
Sie können mehr darüber erfahren Dieses Video, es ist Transkript folgt:
Wenn Sie mehr darüber erfahren möchten, wie Sie gespeicherte Prozeduren erstellen, warum nehmen Sie nicht meinen Kurs Stored Procedures Unpacked? Verwenden Sie den Gutscheincode BLOGPOST-201, um einen erheblichen Rabatt zu erhalten.,
Warum müssen wir gespeicherte Prozeduren erstellen??
Was wir in dieser Lektion tun werden, ist eine gespeicherte Prozedur zu erstellen, dann diese gespeicherte Prozedur auszuführen und dann die Ergebnisse anzuzeigen.
Die Idee hier ist nur, Ihnen die wichtigsten Schritte zum Erstellen einer gespeicherten Prozedur zu zeigen.,
Später gehen wir über alle Details, was die gespeicherte Prozedur tut, und die verschiedenen Aspekte der gespeicherten Prozedur, wie die Parameter.
Die gespeicherte Prozedur, die wir erstellen werden, ist eine, um die Zeit zu berechnen, um eine Strecke zurückzulegen. Also, die Schritte, die wir unternehmen werden, werden wir die Entfernung und Geschwindigkeit als Parameter akzeptieren. Und dann berechnen wir basierend darauf die Zeit als Entfernung geteilt durch Geschwindigkeit und geben dann das Ergebnis zurück. Also, lass uns weitermachen und das tun.,
Bevor wir anfangen und gespeicherte Prozeduren erstellen, möchte ich darüber sprechen, wo sich gespeicherte Prozedurobjekte in Management Studio befinden.
Sie wissen, wo sich Tabellen im Tabellenbereich befinden, aber wenn Sie dies bemerken, werden Sie hier nichts sehen, was über gespeicherte Prozeduren spricht. Wo gespeicherte Prozeduren versteckt sind, wird in diesem Bereich Programmierbarkeit genannt.
Ich klicke auf Programmierbarkeit öffnen, Sie werden sehen, dass es hier andere Ordner gibt, und einer heißt Stored Procedure., Und dann, unter der gespeicherten Prozedur Ordner werden alle gespeicherten Prozeduren, die erstellt wurden.
Ich werde jetzt ein neues Abfragefenster öffnen, damit wir unsere erste gespeicherte Prozedur erstellen können. Ich habe ein Abfragefenster erstellt, das auf die AdventureWorks-Datenbank verweist, und an dieser Stelle werde ich den Befehl zum Erstellen einer gespeicherten Prozedur einbringen. Um das zu tun, ist es CREATE PROCEDURE und dann AS und dann BEGINNEN und dann ENDEN.,
Dies ist das Hauptelement oder Skelett der gespeicherten Prozedur, ich habe, was die Prozedur ist, ihren Namen und dann das BEGIN-und Endsignal, den Start und das Ende der Prozedur, und alle Befehle, die zu dieser gespeicherten Prozedur gehören, befinden sich im BEGIN und END.
Bevor ich viel weiter komme, muss ich Parameter hinzufügen, und die Parameter gehen zwischen der ERSTELLUNGSPROZEDUR und der AS. Hier werde ich meine Parameter eingeben, und wie wir zuvor besprochen haben, haben wir Entfernung und Geschwindigkeit.,
Ich bringe den Parameter für die Entfernung als Float ein, er wird einen Dezimalwert und eine Geschwindigkeit haben. Beachten Sie, dass Parameter @ sign davor haben. Dies ist der Charakter, den Sie erhalten, wenn Sie Shift und 2 drücken, und jetzt bin ich bereit, den Code einzugeben.
Das erste Stück, das ich einfügen werde, ist der Teil mit dem NOCOUNT. Der NOCOUNT wird im Wesentlichen so eingefügt, dass SQL keine zusätzlichen Ergebnisse zurückgibt, die angeben, wie viele Zeilen in der letzten ausgeführten AUSWAHL zurückgegeben wurden.,
Und jetzt werde ich die Anweisung für die Geschwindigkeit einfügen, also ein paar Dinge, nur um hier wirklich schnell zu zeigen, ist, dass ich eine Logik verwende.
Ich werde testen, ob, wenn die Geschwindigkeit nicht gleich Null ist, dann wählen wir den Ausdruck @distance / @velocity, also wäre dies wiederum wie die 120 Meilen geteilt durch 60 Meilen pro Stunde, um uns die zwei Stunden zu geben, die es dauerte.
Dies wird das Ergebnis zurückgeben. Wenn meine Geschwindigkeit gleich Null ist, was Sie aus der Mathematik kennen, können Sie etwas nicht durch Null teilen, also geben wir einfach eine Null zurück.
Dies ist meine gespeicherte Prozedur., Die gespeicherte Prozedur hat einen Namen. Es hat Parameter. Es hat den NOCOUNT. Dies ist Standard, und dann ist hier der Code, der ausgeführt und ausgeführt wird. Wir werden die Entfernung geteilt durch die Geschwindigkeit zurückgeben, also im Grunde die Zeit, die benötigt wird, um eine Strecke zurückzulegen, basierend darauf, wie schnell wir gehen. Ein sehr einfaches Beispiel, aber hoffentlich zeigt es Ihnen, wie eine gespeicherte Prozedur erstellt wird.
Lassen Sie mich dies ausführen, um unsere gespeicherte Prozedur zu erstellen. ou kann sehen, es war erfolgreich. Ich werde zu meinem Datenbankfenster kommen, und ich werde es aktualisieren und in die Programmierbarkeit zurückkehren, Gespeicherte Prozeduren.,
Und jetzt können Sie sehen, dass es CalculateTime gibt. Es hat jetzt Parameter und gibt eine Ganzzahl zurück. Die Datenbank hat also herausgefunden, was unsere Prozedur benötigt und wie sie ticken wird.
Lassen Sie uns diese gespeicherte Prozedur ausführen. Ich habe bereits ein Beispiel eingerichtet. Wie wir unsere gespeicherte Prozedur ausführen können, ist ein neues Abfragefenster zu erstellen, und wir können den Befehl exec verwenden. Exec ist die Abkürzung für execute, und ich kann exec eingeben oder ausführen.
Und jetzt führe ich die gespeicherte Prozedur aus, und hier sage ich: „Wir gehen eine Strecke von 120 und wir fahren 40 Meilen pro Stunde.,“Und wenn ich das ausführe, sollte es mit dem Wert 3 zurückkommen, und wie Sie sehen, kommt es mit 3 zurück.
Wenn ich unsere Geschwindigkeit auf Null ändern würde, was würde passieren? Es kommt mit Null zurück, denn wenn Sie sich erinnern, hatten wir diese IF-THEN-Anweisung, die besagte, dass wir, wenn unsere Geschwindigkeit Null war, nicht durch Null dividieren können, also eine Null zurückgeben können. Wenn die Geschwindigkeit Null ist, wenn die Geschwindigkeit nicht gleich Null ist, führen Sie die Berechnung durch, andernfalls WÄHLEN Sie eine Null.
Kurz gesagt, wie Sie eine gespeicherte Prozedur erstellen und ausführen können., Wir erstellen eine gespeicherte Prozedur mit dem Befehl CREATE PROCEDURE und können sie dann mit execute ausführen.
Auch hier besteht die ganze Idee nicht darin, Ihnen beizubringen, wie Sie die gespeicherte Prozedur erstellen und Sie auf Ihren Weg schicken und sagen: „In Ordnung. Du bist gut zu gehen. Nehmen Sie nicht mehr von der Klasse.“
Es ist nur, um Ihnen zu zeigen, hier sind die ersten Schritte zum Erstellen einer gespeicherten Prozedur, damit Sie Ihre Füße nass werden und verstehen, dass dahinter keine geheime Magie steckt., Sie könnten jetzt in Ihre Datenbank gehen und eine sehr einfache gespeicherte Prozedur erstellen, um eine Berechnung durchzuführen, um ein paar Zahlen hinzuzufügen und sich selbst zu beweisen, dass Sie es können.
In der Tat wäre das eine großartige Übung. Gehen Sie raus und versuchen Sie einfach eine einfache gespeicherte Prozedur, um zwei Zahlen hinzuzufügen, nur damit Sie wissen, dass Sie es tun können.