Using program variables in static SQL
Static SQL syntax supports the usage of program variables as SQL parameters.
Using program variables directly in static SQL statements gives a better understanding of the
source code and requires less lines as when using SQL parameters in dynamic SQL
statements.
MAIN
  DEFINE c_num INTEGER
  DEFINE c_name CHAR(10)
  DATABASE stock 
  SELECT cust_name INTO c_name FROM customer WHERE cust_num = c_num
END MAINIf a database column name conflicts with a program variable, you
can use the @ sign as the column       prefix. The compiler will treat
the identifier following the @ as a table       column:
MAIN
  DEFINE cust_name CHAR(10)
  DEFINE cnt INTEGER
  DATABASE stock 
  SELECT COUNT(*) INTO cnt FROM customer WHERE @cust_name = cust_name 
END MAINThe @ sign will not figure in the resulting SQL statement stored in the .42m compiled module.