oracle通过1条语句插入多个值的方法示例
今天在实践过程中遇到一个问题,
我想往数据库插入多条数据时,使用了如下语句:
insertinto表1(字段1,字段2)values(1,2),(2,3),(3,4);
这条语句在mysql中执行的话,语法一点毛病都没有,但是,在oracle上执行一直报错:
ORA-00933:SQL命令未正确结束
后来有了如下的解决办法:
/*
--一、建表
createorreplacetablepm_ci(
ci_idvarchar2(20)notnull,
stu_idsvarchar2(100)
);
createtablepm_stu(
stu_idvarchar2(20)notnull,
stu_namevarchar2(100)
);
--插入数据
insertintopm_civalues('1','1,2,3,4');
insertintopm_civalues('2','1,4');
insertintopm_stu(stu_id,stu_name)values('1','张三');
oracle插入多个值的方法:
--亲自实验了oracle不支持使用insertinto表1(字段1,字段2)values(1,2),(2,3),(3,4);这条语句插入多条数据库,但是mysql支持,
那么在oracle上如何一条语句插入多个值呢?
本人测试语句如下:
insertallintopm_stu
(stu_id,stu_name)
values('3','王五')
intopm_stuvalues('4','赵六')select1fromdual;
这样写的好处,目前总结如下,避免了写复杂而又没必要写的存储过程,避免了执行多个SQL语句多次连接数据库的开销
至于其他好处,大家要是有不同的见解欢迎留言讨论。
*/
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。