2

我有一个嵌套表nt和一个数据库表fruits。我想拥有ntin table的所有元素fruits。是否有某种用于集合的批量插入方法可能比遍历每个元素更便宜?

另外,假设我有一个food带有 column的父表fruit_id。有子表fruits理想吗?food通过创建类型food_type更有效地将集合直接存储到表中吗?


  • 当前设计:

父表:食物;列: id , name,fruit_id

子表:水果;columns: idname其中嵌套表通过循环nt插入到子表中fruits

  • 建议设计:

表:食物;列: id , name,fruit_table 其中

CREATE type food_type IS TABLE OF varchar(50);
nt food_type;

nt与行一起插入,作为列的一部分fruit_table

4

1 回答 1

0
  1. 您可以使用以下插入语句执行此操作:

    INSERT INTO fruits (id, name) 
    select fruit_sequence_name.nextval, COLUMN_VALUE from TABLE(nt);
    
  2. 这取决于您要运行的查询。如果您需要进行大量分析查询,将它们分开是有意义的,否则将嵌套表存储在食物中是没有问题的。

于 2013-10-19T17:01:21.033 回答