1、最基本的insert –单表单行插入
insert into tablename(列名。。。) values(value。。。)
2.单表多行插入
1. insert into select –将select 的结果集插入到目标表中 select 可以是你可以写出来的任意select
insert into table select * from dual;全字段插入
insert into table(col。。。)select * from dual ;对应字段插入
2. merge into 满足条件的update 不满足的insert into
格式:
MERGE INTO 要变更的表 A
USING 数据来源表 B
ON (2表的关联条件 )—括号必须有
WHEN MATCHED THEN —满足关联条件的 则 进行更新
UPDATE SET A.列=B.列
WHEN NOT MATCHED THEN —未满足关联条件的 则 进行插入
INSERT (A表中的列) VALUES(B表对应的列);
3.多表多行插入 insert all
1、无条件 insert all — 多表多行插入(将a 表的数据插入到b表和c表中)
insert all
into b(b表的目标列) values(a表列)
into c(c表的目标列) values(a表列)
select 列。。。 from a;
2、有条件的insert
语法:
insert [all | first]
when condition then insert_into_clause values_clause
[when condition then] [insert_into_clause values_clause]
…….
[else] [insert_into_clause values_clause]
Subquery;
例子:
insert all
when id>5 then into test(id,name) values(id,name)
when id<>2 then into test2(id) values (id)
else into test3 valuse(name)
select id,name from table;
使用all关键字时,oracle 会将扫描所有判断条件 只要满足就执行之后的into语句
使用first关键字时,oracle会从上向下一次判断满足就执行之后的into语句然后跳出此次插入(之后执行最先满足条件的那个into)
3、旋转insert —将一个表的多个列的数据放到另一表的1个列中
insert all
into table1 values(year,month,aaa)
into table1 values(year,month,bbb)
into table1 values(year,month,ccc)
select year,month,aaa,bbb,ccc from table;
今天的文章oracle insert 方法 分类分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/31365.html