oracle - 如何在oracle pl/sql中的类型定义中使用常量?

标签 oracle plsql

我需要这样的东西。

CREATE OR REPLACE PACKAGE BODY DAIS2 AS
G_TIMLIGA CONSTANT NUMBER:=20;
PROCEDURE GENZAPAS
AS
TYPE MYOWNARRAY IS VARRAY(G_TIMLIGA) OF KURZ%ROWTYPE;

我正在创建包,我需要一组像 G_TIMLIGA 这样的常量,并在许多过程和函数中使用它,我不想更改所有定义。有办法做到这一点吗?

最佳答案

我在文档( http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/composites.htm#CHDEIJHD )中没有找到明确的禁令,但是,据我所知,您必须在类型声明中使用数字,并且不能使用先前定义的常量。如果您需要长度由常量定义的数组类型,请尝试使用其他集合类型( http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/composites.htm#LNPLS005 )。但在这种情况下,您需要编写一些额外的代码来控制大小,甚至可能创建您自己的 API 来使用此结构。

关于oracle - 如何在oracle pl/sql中的类型定义中使用常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26509077/

相关文章:

sql - Oracle 优化器尴尬地不喜欢使用索引

sqlplus客户端将远程结果重定向到本地文件

oracle - PL/SQL 在脚本开头设置一个链接作为默认链接

sql - 如何为 n :m relations 设计历史记录

oracle - SQLPlus - 从 PL/SQL block 假脱机到多个文件

sql - 仅选择 MAX 日期记录

java - 捕获异常后恢复代码

sql - 在 Oracle SQL 中处理日期

c++ - 使用 Pro*C,如何在不设置 'sqlcheck=semantics' 选项的情况下从 PL 存储函数中打开的游标中获取数据?

java - IDEA Intellij 如何调试从 Java 类调用的 PL/SQL 代码