本附录描述了 PL/SQL 语言强加的程序限制。
| 项目 | 限制 |
|---|---|
| 绑定变量传递给程序单元 | 512 |
| RECORD中的字段 | 1600 |
| 嵌套集合的级别 | 6 |
| PLS_INTEGER或BINARY_INTEGER值的大小 | -2147483648..2147483647 |
| 显式游标、函数或过程中的形参数量 | 512 |
| NUMBER值的精度(十进制数字) | 38 |
| REAL值的精度(十进制数字) | 6 |
| 标识符的大小(字节) | 63 |
| CHAR值的大小(字节) | 10*10*1024 |
| LONG值的大小(字节) | 1G-1 |
| LONG RAW值的大小(字节) | 32760 |
| RAW值的大小(字节) | 1G-1 |
| VARCHAR2值的大小(字节) | 1G-1 |
| NCHAR值的大小(字节) | 10*10*1024 |
| NVARCHAR2值的大小(字节) | 1G-1 |
| BLOB值的大小(字节) | 1G-1 |
| CLOB值的大小(字节) | 1G-1 |
| NCLOB值的大小(字节) | 1G-1 |
当 PL/SQL 块、子程序、包或模式级用户定义类型超过大小限制时,您会收到诸如对象超长之类的错误。通常,包或匿名块会出现此问题。 对于一个包,最好的解决方案是将它分成更小的包。 对于匿名块,最好的解决方案是将其重新定义为一组子程序,可以存储在数据库中。
有关数据类型限制的更多信息,请参阅:ref:PL/SQL 数据类型。