是否有一个数据类型描述的一个无界数组(不像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<此处小提琴>此处小提琴>