Macro, UDF, SQL Procedure, and External Routine Limits
Parameter |
Value |
Maximum number of parameters specified in a macro. |
2,048 |
Maximum expanded text size for macros and views. |
2 MB |
Maximum number of open cursors per procedure. |
15 |
Maximum number of result sets a procedure can return |
15 |
Maximum number of columns returned by a dynamic result table function. The valid range is from 1 to 2,048. There is no default. |
2,048 |
Maximum number of dynamic SQL requests per procedure |
15 |
Maximum length of a dynamic SQL request in a procedure This includes its SQL text, the USING data (if any), and the CLIv2 parcel overhead. |
Approximately 1 MB |
Maximum combined size of the parameters for a procedure |
1 MB for input parameters 64 KB for output (and input/output) parameters |
Maximum size of condition names and UDF names specified in a procedure. |
30 bytes |
Maximum number of parameters specified in a UDF defined without dynamic UDT parameters. |
128 |
Maximum number of parameters that can be defined for a constructor method for all types except ARRAY/VARRAY |
128 |
Maximum number of parameters that can be defined for a constructor method of an ARRAY/VARRAY type |
n where n is the number of elements defined for the type |
Maximum number of combined return values and local variables that can be declared in a single UDF. |
Unlimited |
Maximum number of combined external routine return values and local variables that can be instantiated at the same time per session. |
1,000 |
Maximum combined size of the parameters defined for a UDF. |
1 MB for input parameters 64 KB for output parameters |
Maximum number of parameters specified in a UDF defined with dynamic UDT parameters. The valid range is from 0 to 15. The default is 0. |
1,144 |
Maximum number of parameters specified in a method. |
128 |
Maximum number of parameters specified in an SQL procedure. |
256 |
Maximum number of parameters specified in an external procedure written in C or C++. |
256 |
Maximum number of parameters specified in an external procedure written in Java. |
255 |
Maximum size of an ARRAY or VARRAY UDT. This limit does not include the number of bytes used by the row header and the primary index or primary AMP index of a table. |
64 KB |
Maximum length of external name string for an external routine. An external routine is the portion of a UDF, external procedure, or method that is written in C, C++, or Java (only external procedures can be written in Java). This is the code that defines the semantics for the UDF, procedure, or method. |
1,000 characters |
Maximum package path length for an external routine. |
256 characters |
Maximum SQL text size in a procedure. |
Approximately 1 MB |
Maximum number of nested CALL statements in a procedure. |
15 |
Maximum number of Statement Areas per SQL procedure diagnostics area. See SQL Stored Procedures and Embedded SQL and SQL External Routine Programming. |
1 |
Maximum number of Condition Areas per SQL procedure diagnostics area. See SQL Stored Procedures and Embedded SQL and SQL External Routine Programming. |
16 |