ORACLE如何批量插入(Insert)
更新时间:2023年12月04日 09:52:20 作者:Immature_7
这篇文章主要介绍了ORACLE如何批量插入(Insert),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud)
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
ORACLE批量插入(Insert)
Oracle批量插入语句与其他数据库不同,下面列出不同业务需求的插入
假设有一张表Student
-- 学生表 create table Student( id Varchar2(11) primary key, name varchar2(32) not null, sex varchar2(3) not null, age smallint, tel varchar(16) )
注意:
其中[]中代表可选;<>代表必须;table_column的数量必须和column_value一致,并且数据类型要相匹配
1. 单条自定义记录插入
命令格式:
insert into table <tableName>[(<table_column1>,<table_column2>...)] values([<column_value1>,<column_value2>...])
示例:
insertinto Student(id, name, sex, age, tel) values (‘13', ‘jack', ‘男', 13, ‘13345674567')
2. 多条自定义记录插入
命令格式1:
insert all into <tableName>[(<table_column1>,<table_column2>...)] values([<column_value1>,<column_value2>...]) [into <tableName>[(<table_column1>,<table_column2>...)] values([<column_value1>,<column_value2>...])]... select <table_value1>[,<table_value2>...] from dual;
示例:
insert all into Student(id, name, sex, age, tel) into Student(id, name, sex, age, tel) values ('12', 'jack1', '男', 12, '13345674567' ) into Student(id, name, sex, age, tel) values ('13', 'jack2', '男', 13, '13345674567') select '14', 'jack', '男', 13, '13345674567' from dual;
注意: 我也不知道为什么要加select from dual语句,反正不加就报错
命令格式2:
insert into <tableName>[(<table_column1>,<table_column2>...)] select [<column_value1>,<column_value2>...] from dual [ union select [<column_value1>,<column_value2>...] from dual ]...
示例:
insert into student(id, name, sex, age, tel) select '10' , 'ldh', '男', 19, '14445674567' from dual union select '11' , 'zxy', '男', 20, '13333674567' from dual union select '12', 'zxc', '男', 21, '15555674567' from dual
命令格式3:
insert into <tableName1>[(<table_column1>,<table_column2>...)] select [<column_value1>,<column_value2>...] from <tableName2> [where [...]] union [ select [<column_value1>,<column_value2>...] from <tableName2> [where [...] ]]
示例:
insert into student(id, name, sex, age, tel) select (id-1)||'' as id, name, sex, age, tel from Student where id='11' union select id||'1' as id, name, sex, age, tel from Student where id like '1%' union select id||'2' as id, name, sex, age, tel from Student where id like '%1' and id/3 != 0
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持程序员之家。
相关文章
关于使用PLSQL Developer时出现报错ora-12514的问题
这篇文章主要介绍了关于使用PLSQL Developer时出现报错ora-12514的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-11-11ORACLE SQL-UPDATE、DELETE、INSERT优化和使用技巧分享
这篇文章主要介绍ORACLE中SQL-UPDATE、DELETE、INSERT优化和使用技巧,需要的朋友可以参考下2013-03-03oracle中left join和right join的区别浅谈
oracle中left join和right join的区别浅谈,需要的朋友可以参考一下2013-02-02
最新评论