2013-10-17 45 views
2

我有一個嵌套表nt和一個數據庫表fruits。我想在fruits表中有nt的所有元素。是否有某種批量插入方法可以比循環遍歷每個元素更便宜?Oracle DB中的嵌套表使用情況,PL/SQL

另外,比方說,我有一個父表food與列fruit_id。是否有子表fruits理想?通過創建類型food_type更直接地將收集直接存儲到表food


  • 當前設計:

父表:食物; 列:idnamefruit_id

子表:水果; 列:idname其中 嵌套表nt通過環插入子表fruits

  • 設計建議:

表:食物; 列:idnamefruit_table 其中

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

nt插入與行,作爲列的部分fruit_table

+0

我想你可以使用插入前後觸發器。即當你在表格中插入時,元素將在插入之後或插入之前插入表格中。 如果你可以顯示你的表格的結構,它會更容易。 – Shann

+0

你當前的數據庫設計是什麼?你能否提供圖形或文本解釋? – Rachcha

回答

0
  1. 你可以做,使用下面的INSERT語句:

    INSERT INTO fruits (id, name) 
    select fruit_sequence_name.nextval, COLUMN_VALUE from TABLE(nt); 
    
  2. 這取決於你要運行的查詢。如果你需要做大量的分析查詢,將它們分開是有意義的,否則在食物中存儲嵌套表格是沒有問題的。