Formal Parameter Declarations
An Embedded SQL/Ada formal parameter declaration has the following syntax:
identifier {, identifier} :
[in | out | in out
type_name
[:= default_value ]
[;]
Like other Embedded SQL declarations, the formal parameter declaration must occur inside a declaration section. In a subprogram specification, its syntax is:
procedure name
exec sql begin declare section;
( parameter_declaration {; parameter_declaration} )
exec sql end declare section;
is
...
or:
function name
exec sql begin declare section;
( parameter_declaration {; parameter_declaration} )
exec sql end declare section;
return type_name is
...
Note:
• The Embedded SQL preprocessor processes only the formal parameter declarations in a subprogram specification.
• If you specify the in mode alone, the declared parameters are considered constants and cannot be targets of Ingres assignments.
• If you do not specify a mode, the default in mode is used and the declared parameters are considered constants.
• The type_name must be either an Embedded SQL/Ada type or a type name already declared to Embedded SQL.
• The preprocessor does not parse the default_value. Consequently, the preprocessor accepts any default value, even if it can later cause a Ada compiler error. For example, Embedded SQL accepts both of the following parameter defaults, even though only the first is legal in Ada:
procedure Load_Table
exec sql begin declare section;
(clear_it: in Boolean := TRUE;
is_error: out Boolean := "FALSE")
exec sql end declare section;
is
...
• You must not use a single quote in a default value to specify an Ada attribute. Embedded SQL treats it as the beginning of a string literal and generates an error.
• You must use the semicolon with all parameter declarations except the last.
• As with all other Embedded SQL/Ada declarations, formal parameter declarations are global from the point of declaration to the end of the file. For more information, see
The Scope of Variables in this chapter.