672 Shares 9744 views

Gespeicherte SQL-Prozeduren: Erstellung und Verwendung von

Gespeicherte SQL – Prozeduren sind ausführbares Software – Modul , das in gespeichert werden kann , die Datenbank in Form von verschiedenen Objekten. Mit anderen Worten ist es eine Aufgabe, die SQL-Anweisung enthält. Diese gespeicherten Prozeduren können in der Client-Anwendung ausgeführt werden, um eine gute Leistung zu erhalten. Darüber hinaus sind solche Einrichtungen oft von anderen Skripten genannt oder auch aus einem anderen Abschnitt.

Einführung

Viele Menschen glauben , dass sie zu den Verfahren der verschiedenen ähnlich sind High-Level – Programmiersprachen ( mit der Ausnahme für MS SQL). Vielleicht ist dies der Fall. Sie haben ähnliche Parameter, können sie einen ähnlichen Wert ausgeben. Darüber hinaus sind in einigen Fällen kommen sie in Kontakt. Zum Beispiel sind sie mit Datenbanken von DDL und DML die Daten kombiniert, sowie Benutzerfunktionen (Codename – UDF).

Eigentlich gespeicherte SQL-Prozeduren haben eine breite Palette von Vorteilen, die sie unter solchen Prozessen zu unterscheiden. Sicherheit, Variabilität Programmierung Produktivität – das alles zieht Anwender die Arbeit mit Datenbanken, mehr und mehr. Der Höhepunkt der Popularität kam Verfahren für die Jahre 2005-2010, als ich das Programm von dem „Microsoft“ unter dem Namen «SQL Server Management Studio» bekam. Mit seiner Hilfe die Arbeit mit Datenbanken ist wesentlich einfacher geworden, praktischer und bequemer. Jahr für Jahr diese Methode der Übermittlung von Informationen an Popularität gewann in der Programmierumgebung. Heute MS SQL Server ist absolut üblich Programm, das für die Nutzer zu „kommunizieren“ mit Datenbanken, auf einer Stufe stand mit „Excel“.

Wenn Sie die Prozedur aufrufen, wird es durch den Server ohne unnötige Prozesse und Benutzereingriff sofort verarbeitet. Löschen, Ausführung, Änderung: Sie können dann eine Aktion mit der Information durchzuführen. Über all dies ist in dem DDL-Operator, der im Alleingang komplexe Aktionen für diese Objekte durchzuführen. Und das alles geschieht sehr schnell, und der Server nicht tatsächlich geladen. Diese Geschwindigkeit und Produktivität lassen schnell Sie große Mengen von Informationen vom Benutzer zum Server und umgekehrt übertragen.

Um diese Arbeit mit den Informationen umzusetzen, gibt es mehrere Programmiersprachen Technologien. Dazu gehört beispielsweise PL / SQL aus dem Datenbankmanagementsystem Oracle, PSQL in Interbase und Firebird – Systemen, sowie den klassischen „maykrosoftovskih» Transact-SQL. Alle von ihnen sind zum Erstellen und Ausführen von gespeicherten Prozeduren entwickelt, so dass Sie ihre eigenen Algorithmen, die auf einem großen Datenbank-Handler verwenden. Es ist notwendig, und um sicherzustellen, dass diejenigen, die Verwaltung dieser Informationen durchführen, können alle Objekte von unbefugten Dritten schützen und damit die Erstellung, Änderung oder Löschung bestimmter Daten.

Produktivität

Diese Datenbank-Objekte können auf verschiedene Weise programmiert werden. Dies ermöglicht es Benutzer, die Art des Verfahrens auszuwählen, das am besten geeignet wäre, die Zeit und Energie spart. Darüber hinaus ist das Verfahren selbst verarbeitet, so enorm viel Zeit auf die Kommunikation zwischen dem Server und dem Benutzer ausgegeben zu vermeiden. Das Modul kann in absolut jederzeit in der richtigen Richtung neu programmiert und geändert werden. Besonders erwähnenswert, die Geschwindigkeit, mit der die Einführung von SQL gespeicherten Prozedur auftritt: Der Prozess ist schneller andere ähnlich ist, ist es eine bequeme und vielseitig macht.

Sicherheit

Diese Art der Informationsverarbeitung unterscheidet sich von ähnlichen Prozessen, dass es eine erhöhte Sicherheit bietet. Dies wird durch die Tatsache sichergestellt, dass andere Benutzer Zugriff auf Verfahren vollständig beseitigt werden können. Dies ermöglicht es dem Administrator Operationen mit ihnen unabhängig und ohne Angst in die Datenbank des Abfangens oder unerlaubten Zugriff, zu führen.

Datenübertragung

Die Kommunikation zwischen einer gespeicherten SQL-Prozedur und der Client-Anwendung ist, die Parameter zu verwenden und Werte zurückgeben. Letzteres ist nicht erforderlich, die Daten an eine gespeicherte Prozedur zu übertragen, aber die Informationen (in erster Linie auf der Anforderung des Benutzers) und für SQL verarbeitet. Sobald gespeicherte Prozedur hat ihre Arbeit abgeschlossen ist, es die Datenpakete zurückschickt (aber auch hier, wenn gewünscht) an die anrufende Anwendung unter Verwendung einer Vielzahl von Methoden, mit denen als Aufruf einer gespeicherten SQL-Prozedur implementiert werden kann und Rückkehr, zum Beispiel:

– Datenübertragung über Ausgangsparametertyp;

– Datenübertragung über die return-Anweisung;

– Datenübertragung über Betreiberauswahl.

Und nun schauen, wie dieser Prozess die gleichen innen aussieht.

in der SQL-Prozedur 1. Erstellen Sie EXEC speicherten

Sie können eine Prozedur in MS SQL (Managment Studio) erstellen. Nachdem die Prozedur erstellt wird, wird es auf einem programmierbaren Datenbankknoten aufgelistet, in denen das Verfahren durch den Betreiber der Schöpfung durchgeführt wird. Zur Ausführung gespeicherte SQL-Prozeduren mit EXEC-ein Prozess, der den Objektnamen enthält.

Bei der Erstellung des Namens erste Verfahren kommt, und machte dann einen oder mehrere Parameter, die ihm zugeordnet sind. Die Parameter können optional sein. Nach dem Parameter (n), dh der Körper des Verfahrens, geschrieben werden, ist es notwendig, einige notwendige Operationen durchzuführen.

Die Tatsache, dass der Körper kann lokale Variablen haben, darin liegt, und diese Variablen sind lokal und in Bezug auf die Verfahren. Mit anderen Worten, sie können nur innerhalb der Körperbehandlungen in Betracht gezogen werden Microsoft SQL Server. Stored Procedures sind in diesem Fall lokal angesehen.

So ein Verfahren zu schaffen, müssen wir einen Prozedurnamen und mindestens einen Parameter als ein Verfahren Körper. Bitte beachten Sie, dass eine ausgezeichnete Wahl in diesem Fall ist die Schaffung und Anwendung von Verfahren mit einem Schemanamen in dem Klassifikator.

Das Verfahren Körper kann jede Art von Operatoren SQL hat, zum Beispiel, wie beispielsweise das Erstellen einer Tabelle, Einfügen einer oder mehrere Zeilen der Tabelle, zur Einrichtung des Datenbanktypen und Zeichen, und so weiter. Dennoch schränkt das Verfahren Körper in ihm einige Operationen. Einige der wichtigsten Einschränkungen sind im Folgenden aufgelistet:

– der Körper schafft keine andere gespeicherte Prozedur;

– der Körper einen falschen Eindruck über das Objekt nicht erstellt werden muß;

– der Körper schafft keinen Trigger.

2. Setzen Sie die Variable im Körper des Verfahrens

Sie können Variablen lokal auf das Verfahren des Körpers machen, und dann werden sie in einer Prozedur Körper sein. Eine gute Praxis ist eine Variable am Anfang des gespeicherten Prozedur Körpers zu schaffen. Sie können aber auch Variablen überall im Körper des Objekts festgelegt.

Manchmal können Sie feststellen, dass einige Variablen in derselben Zeile festgelegt sind, und die jeweils durch ein Komma getrennt Variable. Beachten Sie auch, dass der Variable mit @ vorangestellt. Im Körper des Verfahrens können Sie eine Variable, auf die Sie wollen. Zum Beispiel kann eine Variable @ NAME1 gegen Ende des Verfahrens Körper bekannt gegeben. Um einen Wert zu einer Variablen zuzuweisen erklärte eine Reihe von persönlichen Daten. Im Gegensatz zu der Situation, wenn mehr als eine Variable in der gleichen Zeile deklariert, nur ein Satz von persönlichen Daten in dieser Situation verwendet.

Anwender fragen sich oft die Frage: „Wie kann man mehrere Werte in einer einzigen Anweisung im Körper des Verfahrens zuweisen‚Nun?. Interessante Frage, aber das ist viel einfacher, als Sie denken. Die Antwort: Mit Hilfe solcher Paare als «Select Var = Wert“. Sie können diese Paare durch Kommas getrennt verwendet werden.

3. Erstellen Sie eine gespeicherte SQL-Prozedur

In einer Vielzahl von Beispielen von Menschen zeigen eine einfache gespeicherte Prozedur erstellen und ausführen. Jedoch kann das Verfahren solche Parameter nimmt, dass der anrufende Prozess einen Wert deren Nähe (aber nicht immer) haben wird. Wenn sie übereinstimmen, beginnt dann die entsprechenden Prozesse im Körper. Zum Beispiel, wenn Sie eine Prozedur erstellen, die die Stadt und die Region von dem Anrufer nehmen und geben die Daten darüber, wie viel die Autoren zu der entsprechenden Stadt und Region beziehen. Das Verfahren wird eine Datenbanktabelle der Autoren abfragen, zum Beispiel, Pub, diese Berechnung Autoren durchzuführen. Um diese Datenbanken, zum Beispiel zu erhalten, lädt das Google den SQL-Skript mit SQL2005 Seite.

Im vorherigen Beispiel dauert die Prozedur zwei Parameter, die in englischer Sprache würden bedingt @state und @city aufgerufen werden. Der Datentyp entspricht, der in der Anwendung angegeben. Das Verfahren Körper hat interne Variablen @TotalAuthors (alle Autoren) und diese Variable verwendet wird, deren Nummer anzuzeigen. Als nächstes kommt ein Auswahlanforderungsabschnitt, dass alle zählt. Schließlich wird der berechnete Wert im Ausgabefenster angezeigt, um die Druck-Anweisung.

Wie eine gespeicherte SQL-Prozedur ausführen

Es gibt zwei Möglichkeiten, um das Verfahren auszuführen. Der erste Weg ist durch Übergabe von Parametern dargestellt, wie eine durch Kommata getrennte Liste nach dem Prozedurnamen erfolgt. Angenommen, wir haben zwei Werte (wie im vorherigen Beispiel). Diese Werte werden gesammelt unter Verwendung von Variablen und @state @city Verfahren. Bei diesem Verfahren wichtige Parameter der Übertragungsreihenfolge. Diese Methode ist die Übertragungsreihenfolge von Argumenten aufgerufen. Bei dem zweiten Verfahren werden die Parameter bereits direkt zugeordnet ist, wobei in diesem Fall die Reihenfolge ist nicht wichtig. Dieses zweite Verfahren wird als die Übertragung der benannten Argumente bekannt.

Das Verfahren kann leicht von den typischen abweichen. das gleiche, wie im vorherigen Beispiel alle, aber die Parameter werden hier nur verschoben. Das ist @city Parameter zuerst gespeichert wird, und @state neben den Standardwert gespeichert. Die Standardeinstellung ist in der Regel separat zugeordnet. Gespeicherte SQL-Prozeduren sind als einfache Parameter. In diesem Fall, sofern die Option CA "„die UT ‚den Standardwert ersetzt“. In einer zweiten Ausführung gelangt nur ein Argument Wert für @city und @state Option standardmäßig auf „CA“. Erfahrene Programmierer werden darauf hingewiesen, dass alle Standardvariablen näher am Ende der Parameterliste befinden. Ansonsten ist die Ausführung nicht möglich ist, dann müssen Sie mit der Übertragung von benannten Argumenten arbeiten, dass je länger und komplizierter.

4. Stored Procedures SQL Server: Wegen der Rückkehr

Es gibt drei große Möglichkeiten, um Daten in der aufgerufenen Prozedur gespeichert zu senden. Sie sind im Folgenden aufgelistet:

– Rückgabewerte gespeicherten Prozedur;

– Ausgangsparameter gespeicherten Prozeduren;

Wählen Sie eine der gespeicherten Prozeduren -.

4.1 Rückgabewerte von gespeicherten SQL-Prozeduren

Bei diesem Verfahren setzt die Prozedur den Wert der lokalen Variablen und gibt es zurück. Das Verfahren kann auch direkt einen konstanten Wert zurück. Im folgenden Beispiel haben wir ein Verfahren geschaffen, das die Gesamtzahl der Sponsoren zurückgibt. Wenn wir mit dem vorherigen Verfahren zu vergleichen, diese können Sie sehen, dass der Wert des Drucks durch die Rückwärts ersetzt wird.

Lassen Sie uns nun sehen, wie das Verfahren durchzuführen und den Wert anzuzeigen, gibt es zurück. Die Durchführung von Verfahren erforderlich aufzubauen und variable Druck, der nach dem Verfahren durchgeführt wird. Beachten Sie, dass an Stelle der Betreiber des Druckens des Select-Operator zum Beispiel Select @RetValue und Output verwenden können.

4.2 Ausgangsparameter gespeicherte SQL-Prozeduren

Der Antwortwert kann verwendet werden, um eine einzelne Variable zurückzugeben, die wir im vorigen Beispiel gesehen haben. die Ausgabe Unter Anwendung des Verfahrens ermöglicht eine oder mehrere Variablen an den Anrufer zu senden. Ausgangsparameter wird als Zeit, um dieses Schlüsselwort «Output» bezeichnet, wenn Verfahren zu schaffen. Wenn der Parameter als Ausgangsparameter angegeben ist, muss die Prozedur Objekt er einen Wert zuzuweisen. Stored Procedures SQL, von denen Beispiele unten zu sehen ist, in einem solchen Fall der Rückkehr in die endgültigen Informationen.

In diesem Beispiel werden zwei Wochenenden Name sein: @TotalAuthors und @TotalNoContract. Sie werden in der Parameterliste angegeben. Diese Variablen werden Werte zugewiesen innerhalb der Prozedur Körper. Wenn wir die Ausgangsparameter zu verwenden, kann der Anrufer den Wert in dem Verfahren Körper gesetzt sehen.

Darüber hinaus im vorherigen Szenario werden zwei Variablen deklarieren, die Werte zu sehen, die gespeicherten Prozeduren, MS SQL Server als Ausgabeparameter installiert sind. Dann wird das Verfahren durch die Anwendung des Normalwerts «CA» Parameter durchgeführt. Die folgenden Parameter werden ausgegeben, und daher deklarierten Variablen werden in der vorgeschriebenen Art und Weise übergeben. Bitte beachten Sie, dass, wenn ein variable Ausgang Stichwort auch hier angegeben. Nachdem die Prozedur erfolgreich abgeschlossen ist, werden auf dem Nachrichtenfenster angezeigte Wert zurückgeführt, indem die Ausgabeparameter verwendet wird.

4.3 Auswahl einer gespeicherten SQL-Prozeduren

Diese Technik wird verwendet, um einen Satz in der Form von Tabellendaten Werte (RecordSet) zurückzukehren, um eine gespeicherte Prozedur aufrufen. In diesem Beispiel SQL-Prozedur mit Parametern gespeichert @AuthID Tabelle „Autoren“ fordert durch die Aufzeichnungen von diesem Parameter @AuthId zurück Filterung. Wählen Sie Betreiber entscheidet, was auf das Aufrufen einer gespeicherten Prozedur zurückgegeben werden sollte. Wenn AUTHID eine gespeicherte Prozedur zurück übertragen. Ein solches Verfahren ist immer wieder nur einen Datensatz oder gar keine. Allerdings müssen die gespeicherte Prozedur keine Beschränkungen für die Rückkehr von mehr als einem Eintrag. Oft können Beispiele, bei denen unter Verwendung von ausgewählten Parametern mit den berechneten Variablen die Rückgabedaten gefunden werden geschehen durch eine Vielzahl von Gesamtwerten bereitstellt.

Abschließend

Eine gespeicherte Prozedur ist ein ziemlich ernsthaftes Programm, zurückgegeben oder übertragen, sowie die notwendigen Variablen aufgrund der Client-Anwendung zu etablieren. Da die gespeicherte Prozedur auf dem Server ausgeführt wird, selbst, den Datenaustausch in großen Mengen zwischen dem Server und der Client-Anwendung (für einige Berechnungen) vermieden werden. Dies macht es möglich, die Last auf dem SQL-Server, was natürlich zu reduzieren, die Hand ihres Besitzers ist. Eine der Unterart sind Verfahren T SQL gespeichert, aber ihre Studie nicht auf die in der Schaffung einer beeindruckenden Datenbank beteiligt benötigt. Es gibt auch eine große, auch riesige Menge an Nuancen, die bei der Untersuchung von gespeicherten Prozeduren nützlich sein kann, aber diese Notwendigkeit für diejenigen, die planen enge Programmierung zu tun, professionell einschließlich.