Understanding static SQL statements
This is an introduction to static SQL statements.
Static SQL statements are SQL instructions that are a part of the Genero BDL language syntax. Static SQL statements can be used directly in the source code as a normal procedural instruction. The static SQL statements are parsed and validated at compile time. At runtime, these SQL statements are automatically prepared and executed by the runtime system.
Program variables can be used inside static SQL statements. Variables are detected by the compiler and handled as SQL parameters at runtime.
INSERT
statement:MAIN
DEFINE iref INTEGER, name CHAR(10)
DATABASE stock
LET iref = 65345
LET name = "Kartopia"
INSERT INTO item ( item_ref, item_name ) VALUES ( iref, name )
SELECT item_name INTO name
FROM item WHERE item_ref = iref
END MAIN
As it is integrated in the language syntax, static SQL statement usage clarifies the source code,
but the SQL text is hard-coded and cannot be modified at runtime as is possible with PREPARE
/ EXECUTE
instructions of dynamic SQL.
Limited SQL syntax is part of the language, only common SQL statements such as INSERT
, UPDATE
, DELETE
, SELECT
are supported.
The compiler supports also SQL ... END
SQL
blocks to write free SQL text in your programs. The SQL syntax in SQL blocks is
not limited to the static SQL syntax.