The EXECUTE statement substitutes parameter values for the parameters in the prepared statement. For more information about EXECUTE, see the Neoview SQL Reference Manual.

Syntax

SET PARAM param-name param-value

param-nameis the name of the parameter for which a value is specified. Parameter names are case-sensitive. For example, the parameter ?pn is not equivalent to the parameter ?PN. param-namecan be preceded by a question mark (?), such as ?param-name.

param-valueis a numeric or character literal that specifies the value for the parameter. If you do not specify a value, Neoview Script returns an error.

If param-value is a character literal and the target column type is a character string, you do not have to enclose the value in single quotation marks. Its data type is determined from the data type of the column to which the literal is assigned. Character strings specified as parameter values are always case-sensitive even if they are not enclosed in quotation marks.

Considerations

In the Neoview Script interface, you must enter the command on one line. The command does not require an SQL terminator.

You can execute this command only in SQL mode.

Use separate SET PARAM commands to name and assign values to each unique parameter in a prepared SQL statement before running the EXECUTE statement.

Parameter names are case-sensitive. If you specify a parameter name in lowercase in the SET PARAM command, you must specify it in lowercase in other statements, such as DML statements or EXECUTE.

The name of a named parameter (?param-name) in a DML statement must be identical to the parameter name (param-name) that you specify in a SET PARAM command.

Examples

This command sets a value for the ?sal (salary) parameter:

SQL>set param ?sal 40000.00

This command sets a character string value, GREEN, for the ?lastname parameter:

SQL>set param ?lastname GREEN

These commands set values for named parameters in a subsequent SELECT statement:

SQL>set param ?sal 80000.00 SQL>set param ?job 100

SQL>select * from persnl.employee where salary = ?sal

and jobcode = ?job;

EMPNUM

FIRST_NAME

LAST_NAME

DEPTNUM

JOBCODE

SALARY

------

---------------

--------------------

-------

-------

----------

72

GLENN

THOMAS

3300

100

80000.00

---1 row(s) selected.

SQL>

108 Neoview Script Interface Commands