我有一个嵌套表nt
和一个数据库表fruits
。我想在表nt
中包含fruits
的所有元素。是否有某种批量插入方法用于集合,可能比循环遍历每个元素更便宜?
另外,假设我有一个包含food
列的父表fruit_id
。让孩子表fruits
理想吗?通过创建更有效的类型food
,将集合直接存储到表food_type
中吗?
父表:食物; 列: id
,name
,fruit_id
儿童表:水果; 列: id
,name
其中
嵌套表nt
通过循环
fruits
表:食物; 列: id
,name
,fruit_table
其中
CREATE type food_type IS TABLE OF varchar(50);
nt food_type;
和nt
与行一起插入,作为列fruit_table
答案 0 :(得分:0)
您可以使用以下insert语句执行此操作:
INSERT INTO fruits (id, name)
select fruit_sequence_name.nextval, COLUMN_VALUE from TABLE(nt);
这取决于您要运行的查询。如果您需要进行大量的分析查询,将它们分开是有意义的,否则将嵌套表存储在食物中是没有问题的。