Oracle DB、PL/SQL中的嵌套表用法
我有一个嵌套表Oracle DB、PL/SQL中的嵌套表用法,oracle,plsql,oracle11g,foreign-keys,Oracle,Plsql,Oracle11g,Foreign Keys,我有一个嵌套表nt和一个数据库表fruits。我想把nt的所有元素都放在表fruits中。对于集合是否存在某种批量插入方法,这种方法比循环遍历每个元素更便宜 另外,假设我有一个父表food,其中列fruit\u id。拥有子表fruits是否理想?通过创建类型food\u type将集合直接存储到表food中是否更有效 当前设计: 父表:食物列:id,name,水果id 子表:水果列:id,名称其中 嵌套表nt通过循环插入子表fruits 拟议设计: 餐桌:食物列:id,名称,水果表
nt
和一个数据库表fruits
。我想把nt
的所有元素都放在表fruits
中。对于集合是否存在某种批量插入方法,这种方法比循环遍历每个元素更便宜
另外,假设我有一个父表food
,其中列fruit\u id
。拥有子表fruits
是否理想?通过创建类型food\u type
将集合直接存储到表food
中是否更有效
- 当前设计:
id
,name
,水果id
子表:水果列:id
,名称
其中
嵌套表nt
通过循环插入子表fruits
- 拟议设计:
id
,名称
,水果表
在哪里
而nt
与行一起插入,作为列fruit\u表的一部分
INSERT INTO fruits (id, name)
select fruit_sequence_name.nextval, COLUMN_VALUE from TABLE(nt);
我想你可以使用插入前/插入后触发器。i、 e在表nt中插入时,元素将在插入之后或之前插入到表中。如果你能展示你的表的结构,那会更容易。你目前的数据库设计是什么?请提供图形或文本解释?
INSERT INTO fruits (id, name)
select fruit_sequence_name.nextval, COLUMN_VALUE from TABLE(nt);