将Unbounded Array列添加到SQL DB表中



是否有一个数据类型描述的一个无界数组(不像VARRAY,其中原始的最大大小必须是已知的)为SQL数据库使用Oracle?我试图添加一个列到一个数据库表,有一个数组,但我不知道有多大的数组可以成为。如有任何帮助,我将不胜感激。

基本上,我怎么结束这个?

ALTER TABLE my_table 
ADD my_unbounded_array datatype

这也很有趣,因为我看到对于postgresql,你可以这样做:

ALTER TABLE my_table 
ADD COLUMN my_unbounded_array text[]

例如,表示无界字符串数组。但是我还没有在SQL中发现类似的东西。

您可以使用集合而不是VARRAY:

CREATE TYPE string_array AS TABLE OF VARCHAR2(50);

然后可以将其添加为嵌套表:

CREATE TABLE table_name (
ID NUMBER PRIMARY KEY
);
ALTER TABLE table_name ADD strings string_array
NESTED TABLE strings STORE AS table_name__strings;

db<此处小提琴>

最新更新