Prozeduren
Eine gespeicherte Prozedur ist eine Funktion in einem Datenbankmanagementsystem, mit der ganze Abläufe von Anweisungen vom Datenbank-Client aufgerufen werden können. Sie ist somit ein eigenständiger Befehl, der eine Abfolge gespeicherter Befehle ausführt. (vgl. Wikipedia).
----------------------------------------------------- -- OMS-SL Skript: -- Beispiel für Procedures -- DBMS: MySQL ----------------------------------------------------- -- Autor.....: Christoph -- Datum/Zeit: 11.08.2013 16:37:25 ----------------------------------------------------- -- Verbindung herstellen CONNECT USER_DSN MySQL; -- Beginn: Erstelle eine Prozedur -------------- drop procedure if exists simpleproc3; delimiter #; -- Trennzeichen ändern create procedure simpleproc3 (out param1 int) begin SELECT COUNT(*) INTO param1 FROM test1; end# delimiter ;# -- Trennzeichen zurücksetzen -- Ende: Erstelle eine Prozedur ---------------- -- Rufe die Prozedur auf EXTENDED CHECK ON; call simpleproc3(@a); -- Stelle das Ergebnis dar. SELECT @a AS "Datensätze in Tabelle \"test1\"";
Funktionen
Verschiedene Datenbank-Systeme bieten die Möglichkeit, benutzerdefinierte Funktionen zu erstellen. Das folgende Skript zeigt die Verwendung von Funktionen in einer MySQL-Datenbank.
----------------------------------------------------- -- OMS-SL Skript: -- Beispiel für Funktionen -- DBMS: MySQL ----------------------------------------------------- -- Autor.....: Christoph -- Datum/Zeit: 01.08.2013 16:37:25 ----------------------------------------------------- -- Verbindung herstellen CONNECT USER_DSN "MySQL-DB1"; GRIDVIEW ON; -- Beginn: Erstelle eine Function ------------------- drop function if exists hello; create function hello (s char(20)) returns char(50) return concat('Hello, ', s, '!'); -- Ende: Erstelle eine Function --------------------- -- Rufe die Function auf und stelle das Ergebnis dar: set @a = 'world'; select hello( @a ) AS "Nachricht";
Die Ausführung des Skriptes liefert die folgende Ausgabe:
Im Schema-Browser wird nach der Ausführung des Skripts die neue Funktion hello
angezeigt.