Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 使用select from dual插入数据的差异_Oracle - Fatal编程技术网

Oracle 使用select from dual插入数据的差异

Oracle 使用select from dual插入数据的差异,oracle,Oracle,这两个查询的区别是什么?它们是一样的吗?他们给出相同的结果吗?我在脚本中看到了它们,我想知道它们是否有区别。 Query 1 : insert into tab1 ( id , name , last ) values ( 1 , 'st' , 'ov'); Query 2 : insert into tab1 ( id , name , last ) select 1 , 'st' , 'ov' from dual; 在这种情况下没有区别 使用选择。。。在某些情况下(当使用另一个表中的数

这两个查询的区别是什么?它们是一样的吗?他们给出相同的结果吗?我在脚本中看到了它们,我想知道它们是否有区别。

Query 1 :
insert into tab1 ( id , name , last ) values ( 1 , 'st' , 'ov');


Query 2 :
insert into tab1 ( id , name , last ) select 1 , 'st' , 'ov' from dual;

在这种情况下没有区别

使用
选择。。。在某些情况下(当使用另一个表中的数据时,例如,
联合等),用于插入的“从双”
,可能很有用,但在这种情况下,它不会向通常的
插入到
中添加任何内容

认为这是有用的:

insert
into   table_x
( col1
)
select 'a'
from   dual
union
all
select 'b'
from   dual
;

如果您想插入多行,其中的值是由
连接方式生成的,也很有用;或者从多个
联合中选择所有
。。。从双
代替单独的
插入
语句。(不过,您的“使用另一个表中的数据”有点令人困惑;您通常不会使用它和dual中的
)(是的,使用内部选择进行连接。所以我从你的回答中了解到这是同样的结果。谢谢@patrick