存储过程:
create or replace procedure autoCreateEmployeeNumber(currentNumber out number)
as
begin
update tbl_auto_employee set auto_id=auto_id + 1;
select auto_id into currentNumber from tbl_auto_employee;
end;代码如下:
String procedure = "{call autoCreatePurchaseNumber(?)}";
try {
CallableStatement cstmt = session.connection().prepareCall(procedure);
cstmt.registerOutParameter(1, OracleTypes.NUMBER);
cstmt.execute();
System.out.println(cstmt.getString(1));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}如上,打印出的数字总是为1,应该是语句受影响行数吧
不明白为什么,希望给为予以解答,谢谢
create or replace procedure autoCreateEmployeeNumber(currentNumber out number)
as
begin
update tbl_auto_employee set auto_id=auto_id + 1;
select auto_id into currentNumber from tbl_auto_employee;
end;代码如下:
String procedure = "{call autoCreatePurchaseNumber(?)}";
try {
CallableStatement cstmt = session.connection().prepareCall(procedure);
cstmt.registerOutParameter(1, OracleTypes.NUMBER);
cstmt.execute();
System.out.println(cstmt.getString(1));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}如上,打印出的数字总是为1,应该是语句受影响行数吧
不明白为什么,希望给为予以解答,谢谢
as
begin
select auto_id into currentNumber from tbl_auto_employee;
end;
as
begin
select auto_id into currentNumber from tbl_auto_employee;
currentNumber := currentNumber + 1;
update tbl_auto_employee set auto_id = currentNumber;
end;