Oracle中insert into select和select into的区别
展开全部
oracle中insert into select用语将数据插入到表中。
select into 一般用于存储过程或函数等,将某个查询结果放入变量中。
举例:
1、insert into select
insert into a select * from b;
commit;
2、select into
create or replace procedure p_test
as
v_begintime varchar2(20);
v_endtime varchar2(20);
v_str varchar2(10);
begin
v_begintime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');
select 'badkano' into v_str from dual;--其中这句是将某个值放入v_str变量中
v_endtime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');
dbms_output.put_line('开始时间为:'||v_begintime);
dbms_output.put_line('结束时间为:'||v_endtime);
end;
展开全部
insert
into
select可以将select
出来的N行(0到任意数)结果集复制一个新表中,select
into
from只能将"一行"结果复制到一个变量中。
into
select可以将select
出来的N行(0到任意数)结果集复制一个新表中,select
into
from只能将"一行"结果复制到一个变量中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ect * into target_table from source_table;
insert into target_table(column1,column2) select column1,5 from source_table;
以上两句都是将源表source_table的记录插入到目标表target_table,但两句又有区别。
第一句(select into from)要求目标表target_table不存在,因为在插入时会自动创建。
第二句(insert into select from)要求目标表target_table存在,由于目标表已经存在,所以我们除了插入源表source_table的字段外,还可以插入常量,如例中的:5。
insert into target_table(column1,column2) select column1,5 from source_table;
以上两句都是将源表source_table的记录插入到目标表target_table,但两句又有区别。
第一句(select into from)要求目标表target_table不存在,因为在插入时会自动创建。
第二句(insert into select from)要求目标表target_table存在,由于目标表已经存在,所以我们除了插入源表source_table的字段外,还可以插入常量,如例中的:5。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询