Oracle中insert into select和select into的区别

 我来答
badkano
推荐于2016-02-04 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885371
团长

向TA提问 私信TA
展开全部

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;
羿向晨孟韶
2019-11-24 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:840万
展开全部
insert
into
select可以将select
出来的N行(0到任意数)结果集复制一个新表中,select
into
from只能将"一行"结果复制到一个变量中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
克祥昭我铭3
推荐于2016-09-01 · TA获得超过4017个赞
知道大有可为答主
回答量:2198
采纳率:100%
帮助的人:3318万
展开全部
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。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式