Orcle存储过程与存储函数简单语法与java调用

来源:互联网 发布:mac卸载梦幻西游 编辑:程序博客网 时间:2024/06/05 00:43
存储过程:
基本语法:
creat procedure <过程名>(参数列表,无参时忽略)
as(is)
变量声明、初始化
begin
业务处理、逻辑代码
exception
异常捕获、容错处理
end<过程名>;
调用语法:
creat or replace procedure up_wap(V_param1 in out varchar2,v_param2 in out varchar2
is v_temp varchar2(20);
begin
dbms_output.put_line('交换前参数1:'||v_param1||' 参数2:'||v_param2);
v_temp:=v_param1;
v_param1:=v_param2;
v_param2:=v_temp;
dbms_output.put_line('交换后参数1:'||v_param1||' 参数2:'||v_param2);
exception
when others then dbms_output.put_line('There is a error when the procedure up_wap executing!');
end up_wap;
/
-- 调用存储过程
declare
v_param1 varchar2(20):='param1';
v_param2 varchar2(20):='param2';
begin
up_wap(v_param1 => v_param1,v_param2 => v_param2);
end;
/



 自定义函数(function)
基本语法:
create function <函数名>(<参数列表,无参时忽略>)
return <返回值类型,无长度说明>
as|is
变量声明、初始化
begin
业务处理、逻辑代码
return <返回的值>;(语存储过程的给区别)
exception
异常捕获、容错处理
end <函数名>;

Java中调用存储函数
import java.sql.*;
public class ProcedureTest 
{
public static void main(String args[]) throws Exception
{
   //加载驱动
   DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
  //获得连接
   Connection conn=DriverManager.getConnection("jdbc:odbc:mydata","sa","");

         //创建存储过程的对象
         CallableStatement c=conn.prepareCall("{call getsum(?,?)}");
        
         //给存储过程的第一个参数设置值
         c.setInt(1,100);
        
         //注册存储过程的第二个参数
         c.registerOutParameter(2,java.sql.Types.INTEGER);
        
         //执行存储过程
         c.execute();
        
         //得到存储过程的输出参数值
         System.out.println (c.getInt(2));
         conn.close();
}
}
0 0