在 Oracle 数据库中,如何创建没有长度的 varchar2 类型的 table
in Oracle database, how do I create a table of varchar2 type without length
为了将其用作函数中的返回类型,我需要在数据库级别创建一个类型。
我通过输入命令来完成:
CREATE TYPE empno_tbl
IS TABLE OF VARCHAR2(100);
但这迫使我选择一个长度。
我想创建一个没有特定长度的 table 类型的字符串。
有办法吗?
如果你真的想要它没有长度然后使用 CLOB
.
CREATE TYPE empno_tbl IS TABLE OF CLOB;
(有一个限制,但是在 Oracle 19c the CLOB
datatype has a limit 的 4GB * DB_BLOCK_SIZE
初始化参数中,它给出了 8 TB 到 128 TB 的总大小,如果你达到那个极限那么你的方法可能有问题。)
VARCHAR2
的最大大小为 4000 字节,因此如果您可以应付该限制,则只需使用:
CREATE TYPE empno_tbl IS TABLE OF VARCHAR2(4000);
为了将其用作函数中的返回类型,我需要在数据库级别创建一个类型。 我通过输入命令来完成:
CREATE TYPE empno_tbl
IS TABLE OF VARCHAR2(100);
但这迫使我选择一个长度。 我想创建一个没有特定长度的 table 类型的字符串。
有办法吗?
如果你真的想要它没有长度然后使用 CLOB
.
CREATE TYPE empno_tbl IS TABLE OF CLOB;
(有一个限制,但是在 Oracle 19c the CLOB
datatype has a limit 的 4GB * DB_BLOCK_SIZE
初始化参数中,它给出了 8 TB 到 128 TB 的总大小,如果你达到那个极限那么你的方法可能有问题。)
VARCHAR2
的最大大小为 4000 字节,因此如果您可以应付该限制,则只需使用:
CREATE TYPE empno_tbl IS TABLE OF VARCHAR2(4000);