在eclipse中调用Oracle中的存储过程(插入数据)遇到个问题:存储过程中,我没有写commit;调用存储过程的Java代码中关闭了自动提交事务,也没有写commit,然而运行java程序,结果是数据插入成功了。
下面是存储过程代码:
CREATE OR REPLACE PROCEDURE sp_insert_record(
v_empno IN emp.empno%TYPE,
v_ename IN emp.ename%TYPE,
v_result OUT NUMBER
)
IS
BEGIN
INSERT INTO emp(empno,ename)
VALUES(v_empno,v_ename);
v_result := 1;
EXCEPTION
WHEN OTHERS THEN
v_result := -1;
END sp_insert_record;
以及Java代码:
package com.jdbc;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
public class TestProcedure {
public static void main(String[] args) {
callProcedure(1000);//插入1000条数据
}
/**
* 调用存储过程