Was ist ein gespeichertes Verfahren?

Ein gespeichertes Verfahren ist eine Subroutine in einem System der relationalen Datenbasis. Es hat im Datenverzeichnis gespeichert und ist für Anwendungen vorhanden, die auf die Datenbank zurückgreifen können. Allgemeine Funktionen führten durch gespeicherte Verfahren einschließen Zugriffskontrolle und Datenprüfung durch. Ein gespeichertes Verfahren zentralisiert den Code, der in den mehrfachen Anwendungen existiert und bildet es einfacher beizubehalten. Gespeichertes Verfahren kann andere gespeicherte Verfahren benennen, das erlaubt, dass sie genistet werden.

Eine verbraucherbestimmte Funktion (UDF) ist einem gespeicherten Verfahren ähnlich, außer dass ein UDF kann wie ein Ausdruck in einer Aussage der strukturierten Abfragesprache (SQL) verwendet werden. Ein gespeichertes Verfahren wird mit der Aufrufanweisung hervorgerufen. Ein gespeichertes Verfahren kann das Resultat einer AUSERWÄHLTEN Aussage, alias eines Resultatssatzes zurückbringen. Eine Anwendung kann das Resultat dann verarbeiten, das mit einem Cursor eingestellt wird.

Gespeicherte Verfahren können Cursor erklären, um sich durch einen Resultatssatz zu bewegen, und sie können Variablen auch erklären, um Daten zu verarbeiten. SQL stellt diese Fähigkeiten durch Befehle wie WÄHREND, SCHLEIFE und WIEDERHOLUNG zur Verfügung. Ein gespeichertes Verfahren kann Variablen auch ändern, Variablen und Rückkehrvariablen zu empfangen.

Die meisten Datenbasissysteme stützen gespeicherte Verfahren, obgleich die spezifische Implementierung vom Datenbasissystem abhängt. Einige Datenbasissysteme erlauben, dass gespeicherte Verfahren in Programmiersprachen wie C++ oder Java eingeführt werden. Die gespeicherten Verfahren, die in diese Sprachen geschrieben wurden, konnten nicht in der Lage sein, SQL-Aussagen durchzuführen.

Einige Datenbasissysteme können gespeicherte Verfahren verwenden, um Verhandlungmanagement zu steuern. Sie können gespeicherte Verfahren innerhalb einer Verhandlung auch laufen lassen, damit die Verhandlung zum gespeicherten Verfahren transparent ist. Eine Bedingungzufuhr kann ein gespeichertes Verfahren hervorrufen, das Datenbankverwaltern erlaubt, Störungen aufzuspüren. Ein Datenbankauslöser wie ein Einsatz oder ein Update kann ein gespeichertes Verfahren auch hervorrufen.

Gespeicherte Verfahren können viel der Kompilationsunkosten von inline beseitigen, oder des dynamisch, SQL-Aussagen. Dynamischer SQL muss im Allgemeinen kompiliert werden, obgleich die meisten Datenbanken die Aussage verwenden, die cachiert, um die wiederholte Kompilation dynamischen SQL zu vermeiden. Gespeicherte Verfahren werden bereits direkt in der Datenbank gespeichert und folglich brauchen nicht kompiliert zu werden. Dieses lässt auch gespeicherte Verfahren Netzverkehr verringern, weil sie innerhalb der Datenbank laufen.

Dieser Vorteil wird ein wenig durch die Tatsache versetzt, dass gespeicherte Verfahren es schwieriger, einen Durchführungsplan zu optimieren bilden. Einige Argumente im gespeichertes Prozeduraufruf sind nicht zur Umwandlungszeit vorhanden, die die Leistung der gespeicherten Verfahren hindern kann. Die Auswirkung, die gespeicherte Verfahren auf Leistung haben, hängt von der Konfiguration und von der Implementierung der Datenbank ab.