ESQL statements
You can use ESQL statements to manipulate message trees, update databases, or interact with nodes.
The following table summarizes the ESQL statements and what they do.
Statement type | Description |
---|---|
Basic statements: | |
BEGIN ... END statement | Gives the statements defined within the BEGIN and END keywords the status of a single statement. |
CALL statement | Invokes a user-written routine that has been defined using a CREATE FUNCTION or CREATE PROCEDURE statement. |
CASE statement | Uses rules defined in WHEN clauses to select a block of statements to execute. |
CREATE FUNCTION statement | Like CREATE PROCEDURE, CREATE FUNCTION defines a user-written routine. (The few differences between CREATE FUNCTION and CREATE ROUTINE are described in the reference material.) |
CREATE MODULE statement | Creates a module (a named container associated with a node). |
CREATE PROCEDURE statement | Like CREATE FUNCTION, CREATE PROCEDURE defines a user-written routine. (The few differences between CREATE FUNCTION and CREATE ROUTINE are described in the reference material.) |
DECLARE statement | Declares one or more variables that can be used to store temporary values. |
IF statement | Processes a set of statements based on the result of evaluating condition expressions. |
ITERATE statement | Abandons processing the current iteration of the containing WHILE, REPEAT, LOOP, or BEGIN statement, and might start the next iteration. |
LEAVE statement | Abandons processing the current iteration of the containing WHILE, REPEAT, LOOP or BEGIN statement, and stops looping. |
LOOP statement | Processes a sequence of statements repeatedly and unconditionally. |
REPEAT statement | Processes a sequence of statements, then evaluates a condition expression. If the expression evaluates to TRUE, executes the statements again. |
RETURN statement | Stops processing the current function or procedure and passes control back to the caller. |
SET statement | Evaluates a source expression, and assigns the result to the target entity. |
THROW statement | Generates a user exception. |
WHILE statement | Evaluates a condition expression, and if it is TRUE executes a sequence of statements. |
Message tree manipulation statements: | |
ATTACH statement | Attaches a portion of a message tree into a new position in the message hierarchy. |
CREATE statement | Creates a new message field. |
DELETE statement | Detaches and destroys a portion of a message tree, allowing its memory to be reused. |
DETACH statement | Detaches a portion of a message tree without deleting it. |
FOR statement | Iterates through a list (for example, a message array). |
MOVE statement | Changes the field pointed to by a target reference variable. |
Database update statements: | |
DELETE FROM statement | Deletes rows from a table in an external database based on a search condition. |
INSERT statement | Adds a new row to an external database. |
PASSTHRU statement | Takes a character value and passes it as an SQL statement to an external database. |
UPDATE statement | Updates the values of specified rows and columns in a table in an external database. |
Node interaction statements: | |
PROPAGATE statement | Propagates a message to the downstream nodes within the message flow. |
Other statements: | |
BROKER SCHEMA statement | This statement is optional and is used in an ESQL file to explicitly identify the schema that contains the file. |
DECLARE HANDLER statement | Declares an error handler. |
EVAL statement | Takes a character value, interprets it as an SQL statement, and executes it. |
LOG statement | Writes a record to the event or user trace log. |
RESIGNAL statement | Re-throws the current exception (if any). This is used by an error handler, when it cannot handle an exception, to give an error handler in higher scope the opportunity of handling the exception. |