Gespeicherte Prozedur

Gespeicherte Prozedur

Eine Gespeicherte Prozedur (eng. Stored Procedure) ist eine Funktion in Datenbankmanagementsystemen mit welcher ganze Abläufe von Anweisungen und vom Datenbankclient aufgerufen werden können. Sie ist somit ein eigenständiger Befehl, der eine Abfolge gespeicherter Befehle ausführt.

Inhaltsverzeichnis

Allgemein

Mittels gespeicherter Prozeduren können häufiger verwendete Abläufe, die sonst durch viele einzelne Befehle vom Client ausgeführt werden würden, auf das Datenbanksystem ausgelagert und durch einen einzigen Aufruf (CALL oder EXECUTE) ausgeführt werden (siehe auch Client-Server-System). Mitunter wird dadurch die Leistung gesteigert, da weniger Daten zwischen Client und Datenbanksystem ausgetauscht werden müssen und das Datenbankmanagementsystem häufig auf leistungsfähigeren Servern läuft.

Neben der gewöhnlichen Syntax der Abfragesprache (meist SQL) können in gespeicherten Prozeduren auch zusätzliche Befehle zur Ablaufsteuerung und/oder Auswertung von Bedingungen hinzugefügt werden. Damit können sie mit Makrosprachen bestimmter Anwendungsprogramme verglichen werden. Oft wird das verwendete SQL um herstellerspezifische Funktionen erweitert. Auch der Einsatz anderer Programmiersprachen wie etwa Java oder C# ist inzwischen teilweise möglich.

Gespeicherte Prozeduren tragen dazu bei, die Sicherheit einer Anwendung stark zu erhöhen. Da der Client in der Regel keine DELETE-, INSERT- oder SELECT-Zugriffsrechte mehr benötigt, ist es Angreifern nicht möglich, selbst SQL-Befehle auszuführen (z. B. durch SQL-Injection). Der Client hat ausschließlich die Möglichkeit, bereits vorgefertigte Prozeduren aufzurufen; so können Entwickler vermeiden, dass ein ungewünschtes Verhalten von Dritten hervorgerufen werden kann.

„In diesen Konstrukten sind SQL-Injection-Angriffe fast unmöglich. Eine theoretische Chance besteht jedoch weiterhin.“

Christopher Kunz: PHP-Sicherheit (Seite 143)[1]

Implementierung

Datenbanksystem Implementierungssprache
DB2 SQL PL
Firebird PSQL (teilweise auch Oracles PL/SQL)
Informix SPL[2][3]
Oracle PL/SQL und Java
Microsoft SQL Server Transact SQL und diverse .NET Framework Sprachen
MySQL SQL:2003[4]
PostgreSQL PL/pgSQL und viele weitere eigene Sprachkonstrukte wie PL/Tcl, PL/Perl oder PL/Python

Literatur

  • Guy Harrison und Steven Feuerstein: MySQL Stored Procedure Programming. 1. Auflage. O'Reilly Media, 26. April 2006, ISBN 978-0596-1008-96, S. 640.
  • Informix Software: Informix Guide to SQL: Tutorial. 2. Auflage. Prentice Hall PTR, 12. November 1999, ISBN 978-0130-1616-59, S. 350.
  • Informix Software: Informix Guide to SQL: Reference and Syntax. 2. Auflage. Prentice Hall PTR, 12. November 1999, ISBN 978-0130-1616-66, S. 1776.

Weblinks

Einzelnachweise

  1. Christopher Kunz, Stefan Esser: PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren. 3. Auflage. dpunkt.verlag, Heidelberg 2008, ISBN 978-3898-6453-55.
  2. Informix Guide to SQL: Tutorial, Kapitel 10, Creating & Using SPL Routines, S. 371
  3. Informix Guide to SQL: Reference and Syntax, Kapitel 3, SPL Statements, S. 901
  4. MySQL 5.5 Reference Manual: CREATE PROCEDURE and CREATE FUNCTION Syntax. Oracle, abgerufen am 25. Februar 2010 (englisch).

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Gespeicherte Prozeduren — Der Begriff Gespeicherte Prozedur (GP) oder englisch Stored Procedure (SP) bezeichnet eine Funktion bestimmter Datenbankmanagementsysteme. In einer Stored Procedure können ganze Abläufe von Anweisungen unter einem Namen gespeichert werden, die… …   Deutsch Wikipedia

  • Stored Procedure — Der Begriff Gespeicherte Prozedur (GP) oder englisch Stored Procedure (SP) bezeichnet eine Funktion bestimmter Datenbankmanagementsysteme. In einer Stored Procedure können ganze Abläufe von Anweisungen unter einem Namen gespeichert werden, die… …   Deutsch Wikipedia

  • Stored Procedures — Der Begriff Gespeicherte Prozedur (GP) oder englisch Stored Procedure (SP) bezeichnet eine Funktion bestimmter Datenbankmanagementsysteme. In einer Stored Procedure können ganze Abläufe von Anweisungen unter einem Namen gespeichert werden, die… …   Deutsch Wikipedia

  • SP — Die Abkürzung SP kann bedeuten: Parteien: Saadet Partisi, siehe Partei der Glückseligkeit Schleswigsche Partei, die Partei der deutschen Volksgruppe in Nordschleswig/Dänemark Senterpartiet, eine norwegische Partei Socialistische Partij, eine… …   Deutsch Wikipedia

  • Sp — Die Abkürzung SP bezeichnet folgende Parteien: Saadet Partisi, siehe Partei der Glückseligkeit Schleswigsche Partei, die Partei der deutschen Volksgruppe in Nordschleswig/Dänemark Senterpartiet, eine norwegische Partei Socialistische Partij, eine …   Deutsch Wikipedia

  • POW! — Einflüsse: Oberon Betriebssystem: Windows POW! (Programmers Open Workbench)[1] ist eine an Oberon angelehnte Programmiersprache und stellt eine Weiterentwicklung der Programmiersprache Pascal dar. Die integrierte Entwicklungsumgebung w …   Deutsch Wikipedia

  • Topologische Ordnung — Topologische Sortierung bezeichnet eine Reihenfolge von Dingen, bei der vorgegebene Abhängigkeiten erfüllt sind. Der Name „topologische Sortierung“ leitet sich von den griechischen Wörtern τόπος (tópos = „Ort“/„Platz“) und λόγος (lógos =… …   Deutsch Wikipedia

  • Topologische Sortierung — bezeichnet eine Reihenfolge von Dingen, bei der vorgegebene Abhängigkeiten erfüllt sind. Der Name „topologische Sortierung“ leitet sich von den griechischen Wörtern τόπος (tópos = „Ort“/„Platz“) und λόγος (lógos = eigentlich „Wort“, im weiteren… …   Deutsch Wikipedia

  • Topologisches Sortieren — Topologische Sortierung bezeichnet eine Reihenfolge von Dingen, bei der vorgegebene Abhängigkeiten erfüllt sind. Der Name „topologische Sortierung“ leitet sich von den griechischen Wörtern τόπος (tópos = „Ort“/„Platz“) und λόγος (lógos =… …   Deutsch Wikipedia

  • CAS Latency Time — Dieser Artikel beschreibt den DRAM Chip. Für das mit diesen Chips aufgebaute DRAM Modul (ugs.: Speicherriegel), siehe Artikel Speichermodul. Dynamic Random Access Memory (DRAM), oder der halb eingedeutschte Begriff Dynamisches RAM, bezeichnet… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”