oracle学习笔记-insert

1、标注insert
语法:
INSERT INTO tableName [(column1,column2,...)] VALUES (value1,value2,...)
2、insert all多表多行插入
2.1单表多条插入:
语法:
INSERT ALL
INTO tableName [(column1,column2,...)] VALUES(value1,value2,...)  
INTO tableName [(column1,column2,...)] VALUES(value3,value4,...) 
INTO tableName [(column1,column2,...)] VALUES(value5,value6,...) .... SELECT 1 FROM DUAL
后面跟的SELECT代表前面每个INTO到表里的记录数,比如SELECT返回的行数为2,值为(value3,value4,...)的记录会被插入到表里两条一样的数据
2.2多表多行插入
INSERT ALL
INTO tableName1 [(column1,column2,...)] VALUES(column1,column2,...)  
INTO tableName2 [(column3,column4,...)] VALUES(column3,column4,...) 
INTO tableName3 [(column5,column6,...)] VALUES(column5,column6,...) 
SELECT column7 column1,column8 column2,column9 column3,column10 column4,column11 column5,column12 column6,... FROM tableNameN WHERE condition_clause
将SELECT查询出来的结果按照需求插入到N张表中
2.3将一张表的数据分拆到另外一张表中
INSERT ALL
INTO tableName  VALUES(column1,column2,column3)  
INTO tableName  VALUES(column1,column2,column4) 
INTO tableName  VALUES(column1,column2,column5) 
INTO tableName  VALUES(column1,column2,column6) 
SELECT column1, column2, column3, column4, column5, column6 FROM tableNameN
将tableNameN中的3、4、5、6列拆分到tableName表中
3、条件插入
INSERT [ALL | FIRST]
WHEN condition THEN INTO tableName1 [(column1,column2,...)] VALUES(column1,column2,...)
[WHEN condition THEN] [INTO tableName2 [(column3,column4,...)] VALUES(column3,column4,...)]
......
[ELSE] [INTO tableName3 [(column5,column6,...)] VALUES(column5,column6,...) ] 
SELECT column7 column1,column8 column2,column9 column3,column10 column4,column11 column5,column12 column6,... FROM tableNameN WHERE condition_clause;
当使用ALL关键字时,oracle会从上至下判断每一个条件,当条件满足时就执行后面的into语句,满足多个条件会执行相应条件后面的
当使用FIRST关键字时,oracle会从上至下判断每一个条件,当满足第一个条件时就执行后面的into语句,同时中断后续的条件判断
4、将查询结果插入到一张表中
INSERT INTO tableName [(column1,column2,...)] SELECT (column1,column2,...) FROM tableNameN WHERE condition

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值