oracle insert 方法 分类

oracle insert 方法 分类1、最基本的insert语句结构insertintotablename(列名。。。)values

oracle insert 方法 分类

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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注