Beschreibung
Die Klasse DBProcCustomResponse ruft eine Datenbank-Prozedur auf.
Konfiguration: Im Feld Zusätzliche Parameter wird der Name der Prozedur, bzw. der Prozeduraufruf mit Parameter-Platzhaltern der Form @<Index>:<Abkürzung Datentyp>@ (z. B. @1:i@) und nach einem Semikolon der Datenbank-Alias erwartet.
Falls die Prozedur Parameter erwartet, werden die Werte dieser Parameter - wieder durch Semikolon abgetrennt- hinter dem Alias erwartet. Es ist vom konkreten Datenbanksystem abhängig, ob vor dem Namen der Prozedur ein SQL-Schlüsselwort für den Prozeduraufruf (z. B. CALL oder EXECUTE) gestellt werden muss.
<Prozeduraufruf>;<DB-Alias>;[<Parameterwert>] |
Liste der Datentypen:
Kürzel | Datentyp |
|---|---|
i | Integer |
f | Float |
r | Real |
d | Date |
t | Timestamp |
s | String |
l | Long |
v | Boolean |
b | Blob |
x | Textstream |
Beispiele
MySQL
Ein Aufruf für eine Prozedur TestProc einer MySQL könnte folgendermaßen aufgebaut sein:
CALL TestProc(@0:i@);testcenter;@var__variable@ |
In diesem Beispiel wird die Variable var__variable als Integer-Wert verwendet.
Soll nun ein zweiter Parameter zusätzlich als String weitergegeben werden, sieht der Aufbau wie folgt aus:
CALL TestProc(@0:i@,@1:s@);testcenter;@var_variable@;hello |
MSSQL
Ein Aufruf für eine Prozedur edinachricht_updatestatus einer MSSQL-Datenbank könnte folgendermaßen aufgebaut sein:
EXEC edinachricht_updatestatus @0:i@,@1:s@;test;@var__id@;@var__state@ |
In diesem Beispiel werden zwei Variablen var__id (als Integer) und var__state (als String) übermittelt.
Oracle
Ein Aufruf für eine Prozedur import.data einer Oracle-Datenbank könnte folgendermaßen aufgebaut sein:
{call import.data(@0:s@)};test;@var__file@ |
Die Variable var__file wird hier als Sting verwendet.