首先建立存储过程:
我是oracle下建立第一个创建序列的存储过程。
CREATE OR REPLACE PROCEDURE "CREATE_SEQ" (v_seqname in varchar2)
as
begin
execute immediate 'create sequence '||v_seqname||' start with 1 increment by 1 minvalue 1 maxvalue 99999 nocache';
end create_seq;
在程序中调用:
由于用的是ssh的框架,所以一直想通过createSQLQuery的方法调用,结果老是报错,无奈只好:
Connection conn =null;
CallableStatement call =null;
try{
String name ="seq001";
String sql ="{Call CREATE_SEQ(?)} ";
conn = this.getSession().connection();
call = conn.prepareCall(sql);
call.setString(1, name);
int check = call.executeUpdate();
if(check>0){
System.out.println("成功。");
}
}catch(Exception e){
System.out.println("失败。");
}finally{
if(call!=null){
call.close();
}
if(conn!=null){
conn.close();
}
}
其实这个是jdbc的思路,是hibernate的一个写法,如果有更好的方法,请告知,谢谢。