`
nwenji
  • 浏览: 14674 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

oracle存储过程_1

 
阅读更多
--添加信息

create or replace procedure insert_t_test(p_id in number ,p_name in varchar2 ,p_password in varchar2)

is

begin

insert into t_test(id,name,password) values(p_id,p_name,p_password);

end;


--删除信息

create or replace procedure del_t_test(p_id in number ,x_out_record out number)

begin

  delete t_test where id=p_id;

  x_out_record := 0;

  exception

    when others then

    x_out_record=-1;

end;

--查询所有信息

create or replace procedure all_t_test(x_out_record out number,x_out_cursor out sys_refcursor)

is

begin

   open x_out_cursor for

      select * from t_test;

   x_out_record:=0;

   exception

     when others then

     x_out_record=-1;

end;

-----------------------------------------
public class ConnDB { 
 
  private String url="jdbc:oracle:thin:@localhost:1521:orcl"; 
   
  private String driverClass="oracle.jdbc.driver.OracleDriver"; 
   
  private String username="scott"; 
   
  private String password="hello"; 
   
   
  public    Connection getConn(){ 
    Connection conn=null; 
    try { 
      Class.forName(driverClass); 
      conn=DriverManager.getConnection(url,username,password); 
    } catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
    } catch (SQLException e) { 
      e.printStackTrace(); 
    } 
    return conn; 
  } 
   
  public static void main(String args[]){ 
    ConnDB cd=new ConnDB(); 
    Connection conn=cd.getConn(); 
    /**
     * 添加 有输入参数    无输出参数
     */ 
    /*try {
      CallableStatement call=conn.prepareCall("{call insert_t_test(?,?,?)}");
      call.setInt(1, 66);
      call.setString(2, "小猫");
      call.setString(3, "8989");
      Boolean b=call.execute();
      System.out.println("b="+b);
    } catch (SQLException e) {
      e.printStackTrace();
    }*/ 
     
    /**
     * 删除 有输入参数    得到输出参数
     */ 
    /*try {
      CallableStatement    call=conn.prepareCall("{call del_t_test(?,?)}");
      call.setInt(1, 66);
      call.registerOutParameter(2, Types.INTEGER);
      call.execute();
      Integer result=call.getInt(2);
      System.out.println("执行结果为0正常,执行结果为-1不正常"+result);
    } catch (SQLException e) {
      e.printStackTrace();
    }*/ 
     
    /**
     * 使用游标查询所有信息 无输入参数 有输出参数
     */ 
    try { 
      CallableStatement call=conn.prepareCall("{call all_t_test(?,?)}"); 
      call.registerOutParameter(1, Types.INTEGER); 
      call.registerOutParameter(2, OracleTypes.CURSOR); 
      call.execute(); 
      Integer result=call.getInt(1); 
      ResultSet rs=(ResultSet) call.getObject(2); 
      while(rs.next()){ 
        System.out.println(rs.getInt(1)); 
        System.out.println(rs.getString(2)); 
        System.out.println(rs.getString(3)); 
      } 
    } catch (SQLException e) { 
      e.printStackTrace(); 
    } 
  } 




原文:http://oraclex.iteye.com/blog/814442
分享到:
评论

相关推荐

    DatabaseHelper_oracle_c#Oracle_C#_ManagedDataAccess_oracle操作_

    对于存储过程的调用,"DatabaseHelper"可能会有一个通用方法,接受存储过程名和参数列表,然后根据需要添加OracleParameter对象到OracleCommand,执行存储过程,并根据需要返回结果。 在实际使用中,开发者只需实例...

    oracle存储过程_函数_语法_大全_详解

    ### Oracle存储过程、函数语法详解 #### 一、概述 Oracle数据库系统因其高效的数据处理能力,在企业级应用中被广泛采用。存储过程和函数作为Oracle数据库的重要组成部分,可以帮助开发人员编写更加灵活、高效的...

    Python使用cx_Oracle调用Oracle存储过程的方法示例

    本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace ...

    oracle存储过程学习经典入门

    本文将从 Oracle 存储过程的基础知识开始,逐步深入到 Oracle 存储过程的高级应用,包括 Hibernate 调用 Oracle 存储过程和 Java 调用 Oracle 存储过程的方法。 Oracle 存储过程基础知识 Oracle 存储过程是 Oracle...

    Oracle_GoldenGate_11.2.1.0.3 for Oracle_11g_windows_x64

    1. **Data Extract (Extractions):** 提取过程是从源数据库获取更改数据的主要组件。它使用逻辑日志读取器(如DBLogReader)来捕获DML(插入、更新、删除)操作和DDL(数据定义语言)命令,然后将这些更改记录转化...

    Oracle技术_5分钟会用存储过程_存储过程简单实例

    Oracle技术_5分钟会用存储过程_存储过程简单实例 包括建表及初始化数据,直接运行就可以用 包含循环、条件、增改查、参数传入、变量赋值、java调用等 http://blog.csdn.net/ooppookid/article/details/41206963

    oracle存储过程解锁

    以下是对“oracle存储过程解锁”这一主题的深入解析。 ### 标题:“oracle存储过程解锁” #### 解析: 在Oracle数据库中,存储过程是一种预先编译并存储在数据库中的SQL代码块,用于执行复杂的业务逻辑或数据处理...

    Oracle_PLSQL_存储过程

    #### Oracle存储过程基础知识 存储过程是数据库中预编译好的一段SQL或PL/SQL代码,它可以接受输入参数并返回结果,从而实现复杂的功能逻辑。存储过程的主要优势包括提高性能(因为它们在数据库级别执行)、减少网络...

    Oracle-procedure.rar_oracle_oracle procedure_oracle 存储过程

    这篇教程将深入探讨Oracle存储过程的概念、创建、调用以及其在数据库管理中的应用。 一、存储过程的概念 存储过程是预编译的SQL和PL/SQL语句集合,它们存储在数据库中并作为一个单一的单元执行。相比于直接运行单个...

    帆软报表Oracle存储过程解决storeParameter1参数试用插件

    总结起来,"帆软报表Oracle存储过程解决storeParameter1参数试用插件"主要是针对在调用无参数Oracle存储过程时出现的异常问题提供的一种解决方案。通过安装并配置这个插件,用户可以顺利地在帆软报表中调用不包含...

    TX_CON_0088_oracle_oracle存储过程实战_

    "TX_CON_0088_oracle_oracle存储过程实战_"这个主题深入探讨了如何在实际环境中应用Oracle存储过程,包括其创建、实现以及后台调用等关键环节。 首先,我们来了解如何创建存储过程。在Oracle中,创建一个存储过程...

    Oracle存储过程返回结果集

    在Oracle存储过程中,`IN`参数用于传递数据到过程,`OUT`参数则允许过程向调用者返回数据。而`SYS_REFCURSOR`是Oracle提供的一种特殊类型,它允许存储过程动态地打开一个游标(即结果集)并将其作为`OUT`参数返回。 ...

    通过ORACLE的UTL_HTTP工具包发送包含POST参数的请求

    此外,为了能够通过存储在Oracle钱包中的凭据验证自己,用户还需要具有`use-client-certificates`或`use-passwords`权限。 #### 常量与数据类型 `UTL_HTTP`定义了一系列常量和数据类型来支持HTTP操作,例如`METHOD...

    oracle存储过程unwrap解密工具.zip

    Oracle存储过程unwrap解密工具主要用于处理Oracle数据库中的加密存储过程。在Oracle数据库系统中,为了保护敏感代码或数据,开发人员有时会选择对存储过程进行加密。然而,当需要查看、调试或恢复这些加密的存储过程...

    oracle 存储过程导出excel

    oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel

    oracle存储过程-帮助文档

    Oracle存储过程是数据库管理系统中的一种重要特性,它允许开发者编写一系列SQL语句和PL/SQL块,形成可重复使用的代码单元。这篇博客“oracle存储过程-帮助文档”可能提供了关于如何创建、调用和管理Oracle存储过程...

    oracle 存储过程 函数 dblink

    ### Oracle存储过程、函数与DBLink详解 #### 一、Oracle存储过程简介 在Oracle数据库中,存储过程是一种预编译好的SQL代码集合,它可以接受输入参数、返回单个值或多个值,并能够执行复杂的数据库操作。存储过程...

    oracle_client_64.zip_ORACLE客户端_oracle_oracle 客户端 64_oracle64位客户端

    5. **PL/SQL Developer Tools**:这些工具支持PL/SQL编程,包括PL/SQL编译器、调试器和性能分析器,帮助开发者编写、测试和优化存储过程、函数和触发器。 6. **Oracle Instant Client**:一个轻量级的版本,包含了...

    DBD-Oracle-1.75_2.tar.gz

    DBD-Oracle支持Oracle数据库的各种特性,包括复杂查询、存储过程、事务处理、游标、绑定变量等。在使用DBD-Oracle时,我们需要先安装Oracle客户端或Instant Client,因为DBD-Oracle需要这些库来建立连接。 在安装...

    DOA访问Oracle存储过程.rar_DOA_oracle_存储过程

    在本案例中,"DOA访问Oracle存储过程.rar_DOA_oracle_存储过程"是一个压缩包,其中包含了关于如何使用DOA来调用Oracle数据库中的存储过程的相关资料。以下是关于DOA和Oracle存储过程的详细知识: 1. **DOA模式**:...

Global site tag (gtag.js) - Google Analytics