引言: 在MyBatis中,希望在Oracle中插入数据之时,同时返回主键值,而非插入的条数...环境:MyBatis 3.2 , Oracle, Spring 3.2 SQL Snippet in XML Configuration:<insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"><selectKey resultType="java.math.BigDecimal" order="BEFORE" keyProperty="id">SELECT U_USER_INFO_SEQ.Nextval as ID from DUAL</selectKey>insert into U_USER_INFO<trim prefi...
第一种:begin for r1 in 1..3000000 loop insert into oracle_study(id,name) values(r1,‘abc‘|| r1); commit; end loop; End; 35分钟57秒(2157.182秒):插入3000000条每秒1390.7032条 第二种:INSERT INTO ORA_STUDY SELECT * FROM ORACLE_STUDY;COMMIT;613.662秒:插入3000000条每秒4888.6847条原文:http://amxiaoha.blog.51cto.com/7109979/1587657
<DefaultDbContext>(null,optionsBuilder =>{//设置oracle使用的版本optionsBuilder.UseOracle(App.Configuration["ConnectionStrings:OracleConnectionString"], b =>{b.UseOracleSQLCompatibility("11");});},//注册拦截器interceptors: new Microsoft.EntityFrameworkCore.Diagnostics.IInterceptor[]{new SqlCommandAuditInterceptor()});}, "SSS.FrameWork.Database.Migrations");
主键的序列配置如下: entityBuilder.Pro...
/// <summary>2 /// 批量插入数据3 /// </summary>4 /// <param name="table">数据表</param>5 /// <param name="targetTableName">数据库目标表名</param>6 /// <returns></returns>7 public static bool ExcuteBulkData(DataTable table, string targetTableName)8 {9 bool result = false;
10 using (ODAC.OracleConnection conn = new ODAC....
深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/47143731
背景
近日有哥们问我如何实现多条数据以单条的方式插入到目标表里,为解决这个问题,下面来做个小实验。
交流过程如下:下面,我们举例用cursor来完成这个目标。
(1)、实验准备
首先,建立一个实验表,如下:
createtable EMP
(
empno NUMBER(4)
not null,
ename VARCHAR2(1000),
job VARCHAR2(9),
mgr NUMBER(4),
hiredate
DA...
这篇文章将要介绍如果需要生成一个新的Collection并且向其中添加数据的方法。procedure insert_object(d in dept_array, d2 out dept_array) isbegin --First way to insert data into a new array. SELECT CAST(MULTISET (SELECT DNO, name, location FROM department_teststruct) AS dept_array) INTO l_dept_array FROM DUAL; --Second to insert data into a new array. d2 := dept_array...
: 仅能绑定要插入 LONG 列的 LONG 值
查找原因:
报异常原因:向数据库执行插入日志数据操作时,user_agent字段值过长,如果是varchar2类型的,varchar2类型最大长度是4000,当超过4000,oracle会自动将该字段值转为long型的,然后,插入操作失败。解决办法是:将此字段的类型改为clob或者blob类型;
下面是解决办法【因为之前这张表中有数据,所以新添加一列,进行复制数据】:
--添加一个clob类型字段 ,clob不需指定长度alter t...
### The error may involve ApplaudDaoImpl.addList-Inline
### The error occurred while setting parameters
### SQL: INSERT ALL INTO T_APPLAUD ( ID, USER_ID, BUSINESS_TYPE, PRODUCT_ID, CREATE_TIME ) VALUES ( ?, ?, ?, ?, ? ) INTO T_APPLAUD ( ID, USER_ID, BUSINESS_TYPE, PRODUCT_ID, CREATE_TIME ) VALUES ( ?, ?, ?, ?, ...
try {
String url = "jdbc:oracle:thin:@IP:1521:orcl"; // orcl为数据库的SID
String user = "oracle";
String password = "oracle";
StringBuffer sql = new StringBuffer();
sql.append("insert into ex_log (EX_LOG_ID,EX_LOG_DATE) values (?,?)");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = (Connection) DriverManager.getConnection(url,user,password); ...
进入超级管理员,运行下面命令Window下创建数据库。表空间,用户,插入数据等操作-- 01
创建表空间--
注意表空间的路径
依据实际安装环境进行调整CREATE TABLESPACE ts_myscott
LOGGING
DATAFILE ‘F:/app/to-to/oradata/orcl/ts_myscott.dbf‘ SIZE 10M
EXTENT MANAGEMENT LOCAL; CREATE TABLESPACE ts_myscott2
LOGGING
DATAFILE ‘F:/app/to-to/oradata/orcl/ts_myscott2.dbf‘ SIZE 20M
EXTENT MANAGEM...
项目DB框架:Mybatis。DataBase:Oracle。
----------------------------------------------------------------------------
批量插入数据方式:
一、Mybatis 全局设置批处理;
二、Mybatis 局部设置批处理;
三、Mybatis foreach批量插入:
①SELECT UNION ALL;
②BEGIN INSERT INTO ...;INSERT INTO...;...;END;
四、java自带的批处理插入;
五、其他方式
--------------------------------------------------------------------...
insert id="insert" parameterType="cn.itcast.jk.domain.Factory">
<!--
当数据库是Oracle时,如果插入的数据是空时,必须是要指定默认的参数。所以这里的设置要这么写:jdbcType=VARCHAR。Mysql数据库开发就不用指定jdbcType=VARCHAR这么写。-->
insert into factory_c(FACTORY_ID,FULL_NAME,FACTORY_NAME,CONTACTS,PHONE,MOBILE,FAX,CNOTE,INSPECTOR,ORDER_NO,CREATE_BY,CREATE_DEPT,CREATE_TIME) values(
#{id,jdbcType=VARCH...
Oracle批量插入数据
学习了:http://blog.csdn.net/chenleixing/article/details/45165761/
膜拜一下,引用原文:那么有没有其他方法呢??答案是有的,也许熟悉oracle数据库的可能知道从oracle9i版本以后,可以使用一种方法即:"INSERT ALL INTO a表 VALUES(各个值) INTO a表 VALUES (其它值) INTO a表 VALUES(其它值) ....再跟一个SELECT 语句"。后边跟的SELECT 语句我们可以从虚拟表里查如 SELECT 1 FROM DUAL。注意后边跟的S...
* from emp;---已scott.emp表为例----按照values插入数据insert into emp (empno,ename ,job,mgr, hiredate , sal ,comm, deptno) values (1122,‘steve‘,‘工人‘,2233,to_date(‘2017-01-03‘,‘YYYY-MM-DD‘),3000,500,20);
----当插入表中所有的列时,列名可以不写出来insert into emp values (1122,‘steve‘,‘工人‘,2233,to_date(‘2017-01-03‘,‘YYYY-MM-DD‘),3000,500,20);
2.灵活插入数据-----灵活插入数据
insert ...
比如添加一个用户,同时返回插入用户后得到的用户id:
/** * 添加用户信息 * @param user * @throws Exception */ public int insertUser(User user) throws Exception { SqlSession session=sqlSessionFactory.openSession(); session.insert("com.danny.mybatis.insertUser", user); session.commit(); return user.getUserId();//返回插入数据库后得到的用户id } 这里总结一下mybatis插入数据时返回主键的4种情况:MySQL环境下...