首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批处理SQL插入失败

批处理SQL插入失败
EN

Stack Overflow用户
提问于 2015-03-05 15:10:13
回答 3查看 193关注 0票数 0

我正在尝试执行以下批处理插入:

代码语言:javascript
复制
SQL> INSERT INTO Z (q, w, e, r) 
VALUES
('7', 'A', '3', 'A'),
('8', 'B', '4', 'An'),
('9', 'C', '5', 'And');

                           *
ERROR at line 1:
ORA-00933: SQL command not properly ended

然而,它一直在失败。有人能帮我解决原因吗?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-05 15:19:56

代码语言:javascript
复制
INSERT INTO cellphone (phone_id, model, data, os) 
select '99997', 'Galaxy S IV', '4g', 'Android' from dual
union all select '99998', 'Galaxy S V', '4g', 'Android' from dual
票数 0
EN

Stack Overflow用户

发布于 2015-03-05 15:18:37

如果您使用insert . . . select,您可以用一条语句来完成这个任务。

代码语言:javascript
复制
INSERT INTO cellphone (phone_id, model, data, os) 
    SELECT '99997', 'Galaxy S IV', '4g', 'Android' FROM DUAL UNION ALL
    SELECT '99998', 'Galaxy S V', '4g', 'Android' FROM DUAL UNION ALL
    SELECT '99999', 'Galaxy S VI', '4g', 'Android' FROM DUAL;
票数 0
EN

Stack Overflow用户

发布于 2015-03-05 15:28:41

问题是: Oracle不像它在MySQL中的实现者那样支持批处理插入语法。

有几种方法可以帮助你实现你的目标。(但我不得不承认,MySQL批量插入语法样式在ODBMS中是很好的。)

此外,“联合都从双重选择”旁边,您可以看看:

使用CSV文件中的SQL*Loader加载它。如果你真的想增加很多参赛作品,我建议你这样做。

为了加快单写插入状态的插入速度,请使用“提交写入批处理”,以便Oracle将语句写入成批。(如果还想减少复制/写入的“插入到手机值”代码的数量,则可以编写PL/SQL过程,因此只需复制过程的调用。)

如果你还有问题的话,还有一堆关于SQL*Loader,PL/SQL和过程的好教程,请随意提问。如果需要,我可以添加代码示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28881162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档