小编典典

使用子查询作为目标插入

sql

INSERT INTO (SELECT id,col1,col2,col3,col4 FROM table WHERE col1=1234) 
   VALUES(SEQ.NEXTVAL,2456,'qwew','12312','12312');

我认为,对于上述查询,我​​只能将行插入到tablecol1值为的位置1234。但是,我能够插入除1234for以外的值col1

问题:

为什么我们需要像上面这样的查询?使用它的现实生活场景是什么?


阅读 186

收藏
2021-04-28

共1个答案

小编典典

它基本上是一种允许更新视图的结构。对于多表方案,只能对基础表之一进行INSERT。视图和要插入的表之间必须存在一对一的关系。

您显示的查询是一个内联视图,扩展了相同的概念。

在这里阅读更多文档

http://docs.oracle.com/cd/E17952_01/refman-5.1-zh-CN/view-
updatability.html

现实生活-能够通过View做到这一点,提供了灵活性,便捷性。但是欢迎更多有价值的投入。

2021-04-28