当前位置: 首页 > 编程笔记 >

oracle通过1条语句插入多个值的方法示例

翟学文
2023-03-14
本文向大家介绍oracle通过1条语句插入多个值的方法示例,包括了oracle通过1条语句插入多个值的方法示例的使用技巧和注意事项,需要的朋友参考一下

今天在实践过程中遇到一个问题,

我想往数据库插入多条数据时,使用了如下语句:

insert into 表1 (字段1,字段2) values (1,2),(2,3),(3,4);

这条语句在mysql中执行的话,语法一点毛病都没有,但是,在oracle上执行一直报错:

ORA-00933: SQL 命令未正确结束

后来有了如下的解决办法:

/*

--一、建表
create or replace table pm_ci (
ci_id varchar2(20) not null,
stu_ids varchar2(100)
);
create table pm_stu(
stu_id varchar2(20) not null,
stu_name varchar2(100)
);
--插入数据
insert into pm_ci values('1','1,2,3,4');
insert into pm_ci values('2','1,4');
insert into pm_stu (stu_id,stu_name) values ('1','张三');
oracle 插入多个值的方法:
--亲自实验了 oracle 不支持使用 insert into 表1 (字段1,字段2) values (1,2),(2,3),(3,4);这条语句插入多条数据库,但是mysql支持,
那么在oracle上如何一条语句插入多个值呢?
本人测试语句如下:
insert all into pm_stu
 (stu_id, stu_name)
values ('3', '王五') 
into pm_stu values ('4', '赵六') select 1 from dual;
这样写的好处,目前总结如下,避免了写复杂而又没必要写的存储过程,避免了执行多个SQL语句多次连接数据库的开销
至于其他好处,大家要是有不同的见解欢迎留言讨论。
*/

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。

 类似资料:
  • 问题内容: 我首先看一下Oracle的多表插入(总体上我对SQL还是很陌生),但我不太理解语句结尾处的目的/需求。 对于单表,据我了解,可以使用子句或子查询,但不能同时使用。有人可以在本声明结尾解释该条款的重要性吗?我在网上看过,但没有找到明确的答案。 问题答案: 该选择用于确定变量 prod_category 的值,该变量用于

  • 问题内容: 我从网络以以下格式下载了800条语句: 我听说过事务,s和使用,但是我不知道哪种情况更适合这种情况。 截断后将它们插入sqlite数据库的最佳方法是什么? 问题答案: 如果要运行多个查询,则为了提高数据完整性和性能,应该使用事务。这是一个代码,可让您了解如何执行此操作:

  • 本文向大家介绍用一条mysql语句插入多条数据,包括了用一条mysql语句插入多条数据的使用技巧和注意事项,需要的朋友参考一下        假如有一个数据表A: id name title addtime         如果需要插入n条数据 :    之前我的想法会是,通过数据构造多条插入语句,循环调用 。如:         之后发现了sql的insert语句可以一次插入多条:       

  • 问题内容: 我正在设计一个数据库,该数据库每秒需要处理各种InnoDB表大约600行的插入。我当前的实现使用非批处理的预处理语句。但是,随着时间的推移,写入数据库瓶颈和队列大小会增加。 该实现是用Java编写的,我不知道它的版本。它使用的Java连接器。我需要考虑改用明天。我假设这是两个不同的连接器包。 我已阅读有关该问题的以下主题: 优化MySQL插入以处理数据流 MyISAM与InnoDB 将

  • 问题内容: 我正在尝试像这样从C#向我的数据库中插入一个空值: DBNull.Value是日期可以在的地方,但我希望它等于null,但它似乎将默认日期设置为1900 … 问题答案: 改成: 返回空字符串,但您希望改为null。 但是,这种构建查询的方式可能会导致问题。例如,如果您的字符串之一包含引号’,则结果查询将引发错误。更好的方法是使用参数并在SqlCommand对象上进行设置:

  • 问题内容: 是否可以在SQL Server中执行以下操作: 我有大量的函数可以返回一值结果,而一个函数可以返回3列。我想将所有这些数据插入表的一行中吗? 我可以看到函数返回多个列可能是个问题吗? 问题答案: 如果所有函数仅返回一行… 如果函数返回的行不止一行,则需要以常规方式将它们连接;带有确定哪个左行连接到哪个右行的谓词。