Aufruf einer Stored Procedure

Zusätzlich zu der Möglichkeit, eine Stored Procedure in Phase 3 per Funktion "call db procedure a, alias b,c,d,e,f" aufzurufen, gibt es die Auswahloption "Stored Procedure" in Zielstruktur-Knoten-Eigenschaft "SQL Modus". Wenn dieser Modus ausgewählt ist, wird in Zielstruktur-Knoten-Eigenschaft "SQL Table/Procedure" nicht der Tabellenname erwartet, sondern das Kommando zum Aufruf der Stored Procedure. Der Aufruf der Stored Procedure erfolgt hier aber erst in Phase 4. Angenommen, eine Stored Procedure "insert_proc" innerhalb einer MySQL-Datenbank soll aufgerufen werden, dann lautet die Syntax

call insert_proc(@columns@)


Der Platzhalter @columns@ muss dabei exakt so geschrieben werden. Dieser spezielle Platzhalter wird zur Laufzeit aufgelöst und enthält dann die Werte aller aktiven Felder dieses Knotens, die keine Berechnungsfelder sind und denen ein nicht leerer SQL-Spaltenname zugeordnet ist. Der SQL-Spaltenname selbst ist dabei gleichgültig, er darf nur nicht leer sein. Die Reihenfolge der Parameter ergibt sich aus der Reihenfolge der Felder im Knoten. Die Typen der Parameter entsprechen den Feldtypen.

Datenbankspezifische Sytax


Die Syntax ist vom Datenbank-Typ abhängig. Der oben verwendete Befehl call ist z. B. MySQL-spezifisch. Für andere Datenbanksysteme benötigen Sie gegebenenfalls einen anderen Befehl, z. B. execute (Oracle). Sprechen Sie hierzu Ihren Datenbank-Administrator an.

MSSQL


Für MSSQL müssen noch geschweifte Klammern ergänzt werden. Das kann z. B. so aussehen: {call insert_proc(columns)}

Weitere Infos dazu finden Sie in der Dokumentation der Funktion call db procedure a, alias b,c,d,e,f.