oracle insert into select 大数据量_Oracle数据库操作基本命令(一)

       最近因工作需要,需要将一些数据同步到oracle数据库,我以为语法应该差不多,没想到真的踩了几个坑,今天分享出来,供大家借鉴。

       准备一张测试表test,字段有id、name和创建时间。

添加数据

785359a10988ee86605f48957e0eac0c.png

INSERT INTO "ROOT"."test"("id", "name", "create_time") VALUES (1, '添加1', '2020-11-26 20:00:00');

反手就是添加一条语句,你以为没问题?结果:

8f46ae128ba302e033f951cd7e0784a6.png

报错:日期格式不能转换为字符串

重点1:添加日期数据需要使用TO_DATE

INSERT INTO "ROOT"."test"("id", "name", "create_time") VALUES (1, '添加1', TO_DATE('2020-11-26 20:00:00','yyyy-mm-dd hh24:mi:ss'));

a28c15c7c1c1666e581bd0301996ae51.png

可以看到已经添加成功,我们查询一下。

查询数据

a23d0bee30c4d27d50bfd44e503c7f6a.png

批量添加数据
@Insert(        "    )

直接运行,wow竟然又出问题。

报错:bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束

不明所以,直接把sql放在工具里执行。

insert into "ROOT"."test"("id","name","create_time")values(  2,'添加2',TO_DATE('2020-11-26 20:10:00', 'yyyy-mm-dd hh24:mi:ss')),(  3,'添加3',TO_DATE('2020-11-26 20:20:00', 'yyyy-mm-dd hh24:mi:ss')),(  4,'添加4',TO_DATE('2020-11-26 20:30:00', 'yyyy-mm-dd hh24:mi:ss'))

8466492cce2cc1e40ca3bf4422b504da.png

百度搜索:

bb4ce3868e9c36a60d5a4568bc291417.png

提示我的语句未正常结束,不可能啊,检查了几遍也完整了啊。

开始怀疑:难道不支持这个语句?先执行一条:

7151d3a408fce8a99157a947e127b18c.png

冷笑,一条竟然可以成功,那就是oracle批量添加的语法有问题了。

批量添加数据正确语法
insert allinto "ROOT"."test"("id","name","create_time") values (3,'添加3',TO_DATE('2020-11-26 20:20:00', 'yyyy-mm-dd hh24:mi:ss'))into "ROOT"."test"("id","name","create_time") values (4,'添加4',TO_DATE('2020-11-26 20:30:00', 'yyyy-mm-dd hh24:mi:ss'))select 1 from dual;

c1ae7c8fc1e2cc2ff882eba2b6ed79c7.png

注意:最后的select是固定语法。

85e617bd060ed026d9410f81dcccd4d3.png

上面,讲了Oracle的添加和批量添加的语法。后面会继续讲博主遇到的其他问题哦!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值