Oracle存储过程简单实例:

Oracle存储过程简单实例:

一、不带任何参数存储过程(输出系统日期)

create or replace procedure output_date is

begin

dbms_output.put_line(sysdate);

end output_date;

二、带参数in和out的存储过程

create or replace procedure get_username(v_id in number,v_username out varchar2)

as

begin

select username into v_username from tab_user where id = v_id; --变量赋值

exception

when no_data_found then

raise_application_error(-20001,'ID不存在!');

end get_username;

上文中通过实例的分析,为大家介绍了Oracle数据库存储的知识,将具体问题形象化,这样更利于大家去理解学习,希望上文中涉及到的内容对大家能够有所帮助。


//java调用一个存储过程


  1. import java.sql.CallableStatement;  
  2. import java.sql.Connection;  
  3. import java.sql.DriverManager;  
  4. import java.sql.ResultSet;  
  5. import java.sql.SQLException;  
  6. import java.sql.Statement;  
  7. import java.sql.Types;  
  8.   
  9. public class TestProcedureTwo {  
  10.   public TestProcedureTwo() {  
  11.   }  
  12.   public static void main(String[] args ){  
  13.     String driver = "oracle.jdbc.driver.OracleDriver";  
  14.     String strUrl = "jdbc:oracle:thin:@localhost:1521:myoracle";  
  15.     Statement stmt = null;  
  16.     ResultSet rs = null;  
  17.     Connection conn = null;  
  18.     try {  
  19.       Class.forName(driver);  
  20.       conn =  DriverManager.getConnection(strUrl, "system", "admin");  
  21.       CallableStatement proc = null;  
  22.       proc = conn.prepareCall("{ call dem_procedure(?,?) }");  
  23.       proc.setString(1, "kalision");  
  24.       proc.registerOutParameter(2, Types.VARCHAR);  
  25.       proc.execute();  
  26.       String testPrint = proc.getString(2);  
  27.       System.out.println("存储过程返回的值是:"+testPrint);  
  28.     }  
  29.     catch (SQLException ex2) {  
  30.       ex2.printStackTrace();  
  31.     }  
  32.     catch (Exception ex2) {  
  33.       ex2.printStackTrace();  
  34.     }  
  35.     finally{  
  36.       try {  
  37.         if(rs != null){  
  38.           rs.close();  
  39.           if(stmt!=null){  
  40.             stmt.close();  
  41.           }  
  42.           if(conn!=null){  
  43.             conn.close();  
  44.           }  
  45.         }  
  46.       }  
  47.       catch (SQLException ex1) {  
  48.       }  
  49.     }  
  50.   }  
  51. }  
//plsql中运行存储过程


SQL>variable v_i varchar2(2000); 
SQL>execute A(:v_i,123,'ABC'); 
SQL>print :v_i;

阅读更多
个人分类: 数据库
上一篇== Nginx介绍
下一篇xfire webservice
想对作者说点什么? 我来说一句

Oracle存储过程

2011年10月26日 232KB 下载

oracle存储过程

2011年10月28日 94KB 下载

oracle存储过程笔记

2011年06月23日 224KB 下载

Oracle存储过程分页

2009年03月30日 2KB 下载

oracle存储过程实例

2009年08月13日 1KB 下载

oracle存储过程语法

2010年09月28日 68KB 下载

Oracle存储过程总结

2009年08月18日 43KB 下载

没有更多推荐了,返回首页

关闭
关闭