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语句多次连接数据库的开销 至于其他好处,大家要是有不同的见解欢迎留言讨论。 */
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。
相关推荐
-
MySQL中实现插入或更新操作(类似Oracle的merge语句)
如果需要在MySQL中实现记录不存在则insert,不存在则update操作.可以使用以下语句: 更新一个字段: INSERT INTO tbl (columnA,columnB,columnC) VALUES (1,2,3) ON DUPLICATE KEY UPDATE columnA=IF(columnB>0,1,columnA) 更新多个字段: INSERT INTO tbl (columnA,columnB,columnC) VALUES (1,2,3) ON DUPLICATE KE
-
从Oracle数据库中读取数据自动生成INSERT语句的方法
Oracle INSERT 语句 方法1 我估计有点 SQL 基础的人都会写 INSERT 语句.下面是 SQL 标准写法. INSERT INTO employees (employee_id, name) VALUES (1, 'Zhangsan'); INSERT INTO employees VALUES (1, 'Shangbo'); 方法2 其实, Oracle 还支持下面的写法,作用和上面的语句完全相同. INSERT INTO (SELECT employee_id, name
-
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
-
在 SQL 语句中处理 NULL 值的方法
在日常使用数据库时,你在意过NULL值么? 其实,NULL值在数据库中是一个很特殊且有趣的存在,下面我们一起来看看吧: 在查询数据库时,如果你想知道一个列(例如:用户注册年限 USER_AGE)是否为 NULL,SQL 查询语句该怎么写呢? 是这样: SELECT * FROM TABLE WHERE USER_AGE = NULL 还是这样? SELECT * FROM TABLE WHERE USER_AGE IS NULL 当然,正确的写法应该是第二种(WHERE USER_AGE IS
-
.net实现oracle数据库中获取新插入数据的id的方法
在sql sever中实现插入数据的自动增长是很容易的,但是在oracle数据库中实现这一操作不是很容易,同时要想在.net中实现获取新插入数据的id,而且不会出现读错的情况,就更显得困难了,为了解决在oracle数据中插入的数据能够自增id,同时获取新数据的id,并避免因并发操作而出现的id读错的问题. 数据表结构为test(id,name) 首先,解决数据id自增问题 创建一个序列sequence(sequence详解可从网上搜一下,这里不赘述) create sequence SEQ_te
-
mysql大批量插入数据的4种方法示例
前言 本文主要给大家介绍了关于mysql大批量插入数据的4种方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法一:循环插入 这个也是最普通的方式,如果数据量不是很大,可以使用,但是每次都要消耗连接数据库的资源. 大致思维如下 (我这里写伪代码,具体编写可以结合自己的业务逻辑或者框架语法编写) for($i=1;$i<=100;$i++){ $sql = 'insert...............'; //querysql } foreach($arr as $key =
-
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
本文实例讲述了Python实现读取SQLServer数据并插入到MongoDB数据库的方法.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import pyodbc import os import csv import pymongo from pymongo import ASCENDING, DESCENDING from pymongo import MongoClient import binascii '''连接mongoDB数据库''' clie
-
SQL语句多表联查的实现方法示例
目录 前言 三表联查 内连接 外连接 附:多表联合查询训练 总结 前言 最近面试实习生,发现一般来说,公司喜欢通过一些 SQL 语句来考察你对数据库的使用熟不熟悉.所以我来总结一下我在面试中遇到多表联查是怎么联查的. 三表联查 首先来说多表联查的一些知识点. 多表是指等于或者多余三个表以上的数据库查询.多表联查的类型有: 内连接:join,inner join 外连接:left join,left outer join,right join,right outer join,union 交叉连接
-
oracle下一条SQL语句的优化过程(比较详细)
原来的语句是这样的: select sum(sl0000) from xstfxps2 where dhao00 in ( select dhao00 from xstfxps1 where trunc(ywrq00)=trunc(sysdate) and khdm00='500000003913'); 已用时间: 00: 02: 49.04 Execution Plan ---------------------------------------------------------- 0 S
-
Oracle中插入特殊字符:&和'的解决方法汇总
今天在导入一批数据到Oracle时,碰到了这样一个问题:Toad提示要给一个自定义变量AMP赋值,一开始我很纳闷,数据是一系列的Insert语句,怎么会有自定义变量呢?后来搜索了一下关键字AMP发现,原来是因为在插入数据中有一个字段的内容如下: http://xxx.com/3DX?uid=0676&sid=rt_060908 Oracle把这里的URL的参数连接符&当成是一个自定义变量了,所以要求我给变量AMP赋值.经过测试之后,总结出以下三种方法: 方法一:在要插入的SQL语句前加上S
-
Oracle数据库中SQL语句的优化技巧
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.
-
mybatis的insert语句插入数据时的返回值的实现
mybatis的sql语句一般是配置在配置文件中,现先给出一个例子, sqlMap.xml文件中的一条插入语句: <insert id="add" parameterClass="xxx"> insert into A(a, b, c, d) VALUE (#a#, #b#, #c#, #d#) </insert> 以上的代码片段只是最简单的插入语句,上面这条SQL语句无论执行结果是成功还是失败,它的返回值都是null 如果想要在执行插入之后
随机推荐
- JavaScript+CSS相册特效实例代码
- nodejs开发环境配置与使用
- Docker 基础之Dockerfile命令详解
- JSP中动态合并单元格的实例代码
- 相对路径和绝对路径的写法总结
- Xtrabackup使用指南 InnoDB数据备份工具
- javascript实现的动态文字变换
- 将form表单中的元素转换成对象的方法适用表单提交
- 深入解析C++编程中的运算符重载
- 详解Java中native关键字
- 举例讲解Java的Jackson库中ObjectMapper类的使用
- java为移动端写接口开发实例
- php生成网页桌面快捷方式
- 解析C#设计模式编程中适配器模式的实现
- 微信小程序数字滚动插件使用详解
- python实现数据库跨服务器迁移
- Django 外键的使用方法详解
- layui时间控件选择时间范围的实现方法
- mysql第一次安装成功后初始化密码操作步骤
- 在notepad++中实现直接运行python代码