`

有一个返回值的存储过程-非列表形式

阅读更多

2.有返回值的存储过程(非列表)

如何处理有返回值的存储过程?

案例:编写一个过程,可以输入雇员的编号,返回该雇员的姓名。

pl/sql代码
--有输入和输出的存储过程(返回一个值)
create or replace procedure sun_pro11
(sunNo in number,sunName out varchar2) is
begin
  select ename into sunName from kkkk where empno=sunNo;
  end;

java代码
public class Test1 {
        public static void main(String[] args) {
            Connection ct = null;
            CallableStatement cs = null;
            try {
                //1.加载驱动
                Class.forName("oracle.jdbc.driver.OracleDriver");
                ct = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
               
                //2.创建CallableStatement,专门用来调用存储过程
               
                //看看如何调用有返回值的过程
                //创建CallableStatement
                cs = ct.prepareCall("{call sun_pro11(?,?)}");
               
                //给第一个?赋值
                cs.setInt(1, 7788);
               
                //给第二个?赋值
                cs.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);
                //oracle.jdbc.OracleTypes选定的类型取决于第二个问号是什么类型的
               
                //执行
                cs.execute();
               
                //取出返回值,要注意?的位置
                String name = cs.getString(2);
               
                System.out.println("7788的名字:"+name);
               
            } catch (Exception e) {
                e.printStackTrace();
            }
            finally{
                //关闭各个打开的资源
                try {
                    cs.close();
                    ct.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
}



分享到:
评论

相关推荐

    oracle存储过程学习经典[语法+实例+调用].docx

    Oracle存储过程是数据库管理系统Oracle中的一个重要特性,它允许开发者编写一系列的SQL和PL/SQL语句,形成一个可重用的程序单元。这样的程序单元可以在需要的时候被调用执行,提高了代码的复用性和数据库的性能。...

    oracle存储过程(语法实例).pdf

    存储过程可以无返回值、有非列表返回值或返回列表。对于分页查询,Oracle提供了高效的存储过程实现,如游标配合的方式。 8. **Java与存储过程的交互** Java可以通过JDBC调用Oracle存储过程,包括`...

    存储过程初学实例

    存储过程支持参数输入输出、返回单个或多个结果集以及返回值,甚至可以在一个存储过程中嵌套调用其他存储过程。 在SQL Server中,根据定义主体的不同,存储过程主要分为三类: 1. **系统存储过程**:这些是SQL ...

    SQL Server 存储过程与实例

    C) **减少网络流量**:当多个SQL语句组合为一个存储过程时,客户端只需发送存储过程调用,而非所有的SQL语句,降低了网络传输的数据量,减轻了网络负载。 D) **安全性**:通过权限管理,系统管理员可以限制对存储...

    存储过程语句 pro

    存储过程是由一个或多个SQL语句组成的代码块,它在数据库服务器上预先编译并存储。当需要执行时,只需调用存储过程的名字,而无需每次都重新解析和执行SQL语句,从而提高了执行效率。 2. **创建存储过程** 在SQL...

    在BIRT(百灵报表)中使用存储过程创建数据源

    - 调用返回多个结果集的存储过程:当一个存储过程返回多个独立的数据块时,可以分别处理每个结果集。 了解并熟练掌握在BIRT中使用存储过程创建数据源,不仅可以提高报表的灵活性,还能优化性能,特别是当处理复杂的...

    SqlServerCH创建和管理存储过程PPT学习教案.pptx

    在SQL Server中,存储过程是数据库管理中非常重要的一个概念,它是预编译的SQL语句集合,可以视为数据库中的可重用代码模块。本文档,"SqlServerCH创建和管理存储过程PPT学习教案"主要涵盖了如何创建、执行、修改和...

    SQL server 2005 存储过程100个实例

    本资源"SQL server 2005 存储过程100个实例"是一个面向初学者的实践教程,旨在通过具体的例子帮助学习者深入理解和应用存储过程。 存储过程是预编译的SQL语句集合,可以在服务器端执行,减少了网络传输的开销。在...

    基于python的数据可视化-19-递归之回顾函数返回值.ev4.rar

    递归函数的每次调用都会在内存中创建一个新的堆栈帧,存储局部变量和返回地址。因此,大量递归调用可能会消耗大量内存,可能导致性能问题。 总的来说,递归和递归函数返回值是Python编程中强大的工具,特别是在数据...

    SQLServer存储过程在系统开发中的应用

    PowerBuilder 是一个流行的企业级数据库前端开发工具,它支持多种数据库平台,包括 SQL Server。在 PowerBuilder 中调用 SQL Server 的存储过程主要涉及以下几个步骤: 1. **建立数据库连接**:首先需要配置与 SQL ...

    mybatis调用储存过程

    本项目是基于Maven、SpringMVC和MyBatis构建的一个示例,其中重点展示了如何在MyBatis中调用存储过程。以下是对这个主题的详细阐述: 首先,我们需要理解MyBatis是如何工作的。MyBatis允许开发者编写XML或注解形式...

    oracle存储过程集锦

    最后,`Oracle存储过程变量.swf`可能是一个交互式的SWF动画,它可能以动态的形式展示了如何在存储过程中声明和使用变量,这对于初学者来说是一种生动的学习方式,能够帮助他们直观地理解存储过程中的变量管理和数据...

    第8章 存储过程、函数和包.ppt

    如果需要删除一个存储过程,使用`DROP PROCEDURE`语句,而重新编译则需要`ALTER PROCEDURE COMPILE`。 **存储函数** 与存储过程类似,但函数必须有返回值,并且其返回类型在定义时指定。函数通常用于执行计算或返回...

    3、mybatis存储过程和函数的调用1

    在MyBatis中,存储过程和函数的调用是一个重要的功能,这允许开发者利用数据库的高级功能,如复杂的逻辑处理和高效的数据操作。本篇主要介绍如何在MyBatis中调用MySQL的存储过程,包括如何接收返回参数、单个结果集...

    VB 过程与函数的区别

    过程可以是`Sub`过程,主要用于执行操作,不涉及返回值,或者`Function`过程,虽然也执行操作,但它可以返回一个值,类似于函数。 - **函数**:函数是一个能够根据输入参数计算并返回一个值的代码块。在VB中,函数...

    java传list给存储过程,项目提取,不忽悠源码整理

    在Oracle等支持PL/SQL记录类型的数据库中,你可以定义一个自定义的Java类,该类对应存储过程中的记录类型,然后使用`Struct`对象将List元素转换为数据库可识别的格式。 5. **使用`setArray()`或`setObject()`方法*...

    linq to sql 操作存储过程、函数总结(二)

    3. **处理结果**:存储过程的返回值通常是一个DataSet、DataTable或者自定义类型。LINQ to SQL会根据存储过程的输出参数和结果集自动创建相应的返回对象。 ** 函数的使用 ** 1. **映射函数**:对于数据库函数,...

    SQL触发、视图、存储过程查看工具

    3. **SQL存储过程**:存储过程是一组预编译的SQL语句,封装在一起并以一个名称标识。存储过程可以接受参数,执行一系列操作,并返回结果。它们提高了代码的重用性和效率,因为它们只需编译一次,然后在每次调用时...

    Oracle数据库存储过程详解

    无参存储过程是最简单的存储过程形式,不接收任何参数。创建语法如下: ```sql CREATE OR REPLACE PROCEDURE NoParPro AS BEGIN -- 执行逻辑 END; ``` #### 2.2 带参存储过程 带参存储过程可以根据不同的参数提供...

Global site tag (gtag.js) - Google Analytics