CREATE TABLE SYS.SYSPROCPARM ( proc_id UNSIGNED INT NOT NULL, parm_id SMALLINT NOT NULL, parm_type SMALLINT NOT NULL, parm_mode_in CHAR(1) NOT NULL, parm_mode_out CHAR(1) NOT NULL, domain_id SMALLINT NOT NULL, width SMALLINT NOT NULL, scale SMALLINT NOT NULL, parm_name CHAR(128) NOT NULL, remarks LONG VARCHAR, "default" LONG VARCHAR, user_type INTEGER, PRIMARY KEY ( proc_id, parm_id ), FOREIGN KEY REFERENCES SYS.SYSPROCEDURE, FOREIGN KEY REFERENCES SYS.SYSDOMAIN )
Each parameter to a procedure in the database is described by one row in SYSPROCPARM.
proc_id Procedure number that uniquely identifies the procedure to which this parameter belongs.
parm_id Each procedure starts numbering parameters at 1. The order of parameter numbers corresponds to the order in which they were defined.
parm_type The type of parameter is one of the following:
Normal parameter (variable)
Result variable – used with procedure that return result sets
SQLSTATE error value
SQLCODE error value
parm_mode_in (Y/N) Indicates whether this parameter supplies a value to the procedure (IN or INOUT parameters).
parm_mode_out Indicates whether this parameter returns a value from the procedure (OUT or INOUT parameters). (Y/N).
domain_id Identifies the data type for the parameter by the data type number listed in the SYSDOMAIN table.
width Length of string parameters, precision of numeric parameters, and number of bytes of storage for all other data types.
scale Number of digits after the decimal point for numeric data type parameters, and zero for all other data types.
parm_name Name of the parameter.