SQLEXEC innerhalb einer TABLE- oder MAP-Anweisung anwenden
Wenn SQLEXEC in einer TABLE- oder MAP-Anweisung verwendet wird, kann es Parameter übergeben und akzeptieren. Es kann für Prozeduren und Abfragen, aber nicht für Datenbankbefehle verwendet werden.
Syntax
Diese Syntax führt eine Prozedur innerhalb einer TABLE- oder MAP-Anweisung aus.
SQLEXEC (SPNAME *sp_name*,
[ID *logical_name*,]
{PARAMS *param_spec* | NOPARAMS})
| — | — |
SPNAME |
Erforderliches Schlüsselwort, das eine Klausel zum Ausführen einer Stored Procedure beginnt. |
sp_name |
Gibt den Namen der auszuführenden Stored Procedure an. |
ID logical_name |
Definiert einen logischen Namen für die Prozedur. Verwenden Sie diese Option, um die Prozedur mehrmals innerhalb einer TABLE- oder MAP-Anweisung auszuführen. Nicht erforderlich, wenn eine Prozedur nur einmal ausgeführt wird. |
Syntax
Diese Syntax führt eine Abfrage innerhalb einer TABLE- oder MAP-Anweisung aus.
SQLEXEC (ID *logical_name*, QUERY ' *query* ',
{PARAMS *param_spec* | NOPARAMS})
| — | — |
ID logical_name |
Definiert einen logischen Namen für die Abfrage. Ein logischer Name ist erforderlich, um Werte aus den Abfrageergebnissen zu extrahieren. ID logical_name referenziert die von der Abfrage zurückgegebenen Spaltenwerte. |
QUERY ' sql_query ' |
Gibt die SQL-Abfragesyntax an, die für die Datenbank ausgeführt werden soll. Er kann entweder Ergebnisse mit einer SELECT-Anweisung zurückgeben oder die Datenbank mit einer INSERT-, UPDATE- oder DELETE-Anweisung ändern. Die Abfrage muss in einfachen Anführungszeichen stehen und alle in einer Zeile enthalten sein. Geben Sie Objektnamen an, bei denen die Groß-/Kleinschreibung beachtet wird, wie sie in der Datenbank gespeichert werden, z.B. in Anführungszeichen für Oracle-Namen, bei denen die Groß-/Kleinschreibung beachtet wird. SQLEXEC 'SELECT "col1" from "schema"."table"' |
{::nomarkdown} <pre class="pre codeblock">PARAMS param_spec |
NOPARAMS</code></pre> {:/} |
Definiert, ob die Abfrage Parameter akzeptiert. Eine dieser Optionen muss verwendet werden (siehe Eingabe- und Ausgabeparameter verwenden). |
Wenn Sie eine Abfrage für eine Tabelle ausführen möchten, die sich in einer anderen Datenbank als der aktuellen Datenbank befindet, muss der andere Datenbankname mit der Tabelle angegeben werden. Das Trennzeichen zwischen dem Datenbanknamen und dem Tabellennamen muss ein Doppelpunkt (:) sein.
Im Folgenden finden Sie einige Beispiele für Anwendungsfälle:
select col1 from db1:tab1
select col2 from db2:schema2.tab2
select col3 from tab3
select col3 from schema4.tab4