`
1717T.java.com
  • 浏览: 19132 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类

oracle 存储过程的参数理解

阅读更多

-- 输出参数不可以修改 解决的方法有两种
   --1 把参数改成 输入参数  
   --2 就是参数改成 可输入输出的参数;
  调用过程的 三个方式
        1 就是使用call
             在只用call方式调用函数的时候,必须加要括号,有参数,还要加参数值
             这个方式在命令窗口,调用过程,将不会出现输入的数据.
        2 就是使用exec 命令,进行命令调用过程, 使用命令,就必须在命令行里面输入
          过程名,这个命令窗口中,可加可不加() ,如果有参数的,就一定要加,还有参数值,参数值的类型要与
          变量类型相同.
        3 在语句块中进行调用过程,这个方式和命令模式类似,他们都是可要可不要(),
        -- 在2 和 3 中的 没有括号的情况是,过程没有参数 ,如果有,就必须要有()

       
                             
   输出参数的特点
        1  一个过程中,如果有输出参数(OUT 参数),在调用过程的使用,也要传入一个参数, 这个参数可以不用在调用的地方
        进行赋值,就直接传入一个声明好的一个变量,用来接受存储过程中的输出参数的值(OUT 参数)
        2  输入参数 值不可以改变在过程中,

       
           注意: 在存储过程中,他的参数类型不可以设置它的大小 ;    
               例如;
                           CREATE OR REPLACE PROCEDURE hello(
                               p_name IN VARCHAR2(12),
                                  p_age OUT NUMBER(10,2)
                                )
                               IS
                              BEGIN           
        如果有输出参数就必须有有一个参数进行接收 ;

       
     CREATE OR REPLACE PROCEDURE hello(
            p_name IN VARCHAR2,
            p_age OUT emp.sal%TYPE 
     )
     IS
     BEGIN
       SELECT emp.sal + 3131 INTO p_age FROM emp WHERE empno = 7788 ;
                       
            dbms_output.put_line( p_age);
     END ;
     ---------  块中调用方法
     DECLARE
         v_nanme  varchar2(12);
         v_age NUMBER (12,2);
     BEGIN
          hello (v_nanme,v_age);
            dbms_output.put_line(v_age);
     END  ;
    
     -- 在这个过程中 传入的v_age 就是接受 存储过程输出参数的值 ;  类似于Java的中的返回值

     -- 理解 in out 参数
    
     CREATE OR REPLACE PROCEDURE hello1 (
            p_name IN OUT emp.ename%TYPE
     )
     IS
    
     BEGIN
          --  SELECT emp.ename INTO p_name FROM emp ;
              p_name:='a;sk , ' || p_name ;
           END ;

    --------------------------------------------------------------------------
      DECLARE
         v_nanme  varchar2(12);
     BEGIN       
         v_nanme:='12312';
          hello1(v_nanme);
            dbms_output.put_line(v_nanme);
     END  ;
    
    
SELECT emp.sal FROM emp WHERE emp.empno = 7788 ;
 
 

分享到:
评论

相关推荐

    ORACLE分页存储过程

    在分页存储过程中,主要理解了变量的动态赋值和输入输出参数的使用就非常简单了 下面为调用方法: var c_Preccount number; var c_Ppagecount number; var c_cur refcursor; exec proc_SpPag(1,'SELECT * FROM T_...

    oracle调试存储过程的过程详解

    oracle如果存储过程比较复杂,我们要定位到错误就比较困难,那么可以存储过程的调试功能 先按简单的存储过程做个例子,就是上次做的存储过程(proc_test) 1、先在数据库的procedures文件找到我们之前创建存储过程 ...

    oracle实验二 体系结构、存储结构与各类参数

    【实验目的】 1. 理解Oracle体系结构 2. 了解初始化参数文件以及初始化参数的含义 3. 掌握查看三类数据字典视图和动态性能视图的方法

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

    通过ORACLE的UTL_HTTP工具包发送包含POST参数的请求,包含完成的原创代码、测试说明、相关文档,希望对您的学习有帮助。

    使用VB 调用oracle 数据库存储过程的研究

    使用VB 与oracle 进行连接是软件开发人员经常使用的组合,充分利用oracle 中的存储过程来处理应用 程序频繁使用的逻辑,不仅可以提高效率和安全性,而且也可以最大限度地利用资源,减少编程人员的重复劳 动。对存储过程...

    12、oracle数据库下的存储过程和函数

    ORACLE下的存储过程和函数 存储过程和函数是一种操作块,用来流程化、整体化处理业务逻辑的数据库操作方式。我理解的是相当于java开发语言中方法的概念,存储过程和函数的区别在于函数可以有返回值,而过程没有...

    Oracle数据库管理员技术指南

    1.5 理解 CREATE DATABASE 命令 1.6 创建数据库的技术 1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库的注意 事项 1.6.3 怎样建立自己的定制数据库创建 脚本 1.6.4 如何从已有数据库...

    ORACLE9i_优化设计与系统调整

    §5.1 理解ORACLE性能优化 82 §5.1.1 响应时间与吞吐量的折衷 82 §5.1.2 临界资源 83 §5.1.3 过度请求的影响 83 §5.1.4 调整以解决问题 83 §5.2 优化的执行者 84 §5.3 设置性能目标 84 第7章 系统优化方法 85 ...

    Oracle 10g应用指导

    结合开发应用Oracle数据库的实践经验编撰而成的,书中编排的内容次序非常适合于读者学习和把握Oracle的脉络,书中所选择的问题都是在实际开发应用Oracle过程中经常遇到和所要解决的。通过学习解决这些问题的方法,...

    数据库系统-招标参数---模板.doc

    满足从不同" " " "主流数据源(例如:SQLServer、Oracle、DB2、Sy" " " "base、Excel、文本、SAP等等)抽取、转换、加载" " " "到不同数据源(例如:SQLServer、Oracle、DB2、" " " "Sybase、Excel、文本、SAP等等)...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

    从基本原理、理论提高、实际操作、经验策略、应用开发等方面,结合命令行方式、开发工具的使用、管理工具的使用、Oracle与Windows之间的关系等知识点,按照学习、理解、应用、管理的需要全面描述了Oracle11g的特征和...

    Oracle+10g应用指导与案例精讲

    结合开发应用Oracle数据库的实践经验编撰而成的,书中编排的内容次序非常适合于读者学习和把握Oracle的脉络,书中所选择的问题都是在实际开发应用Oracle过程中经常遇到和所要解决的。通过学习解决这些问题的方法,...

    toad for oracle 11

    TOAD® 是 Quest Software公司的系列化Oracle开发和管理工具套件,包含集成化的开发、测试、管理与优化功能,可以大大提高数据库开发和管理人员的工作效率。 轻松浏览和管理Oracle数据库 TOAD 的 Schema Browser...

    最全的oracle常用命令大全.txt

    8、存储函数和过程 查看函数和过程的状态 SQL>select object_name,status from user_objects where object_type='FUNCTION'; SQL>select object_name,status from user_objects where object_type='PROCEDURE';...

    韩顺平oracle学习笔记

    记住:欲速则不达,做任何事情要遵循他的规律,循序渐进,信心很重要 成为一个oracle高手过程:理解小知识点->做小练习->把小的只是点连成线->做oracle项目->形成只是面->深刻理解 Oracle基础部分:oracle基础使用; ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    6.1.2 理解解释计划可能达不到目的的方式 143 6.1.3 阅读计划 146 6.2 执行计划 148 6.2.1 查看最近生成的SQL语句 149 6.2.2 查看相关执行计划 149 6.2.3 收集执行计划统计信息 151 6.2.4 标识SQL语句以便...

    ORACLE大表分区

    支持自动ORACLE大表分区: 版本进度: 31. 20110420 V2.2 支持任意表任意时间字段分区 以下为安装部署部分: 1.分区相关脚本部署执行顺序,安装前请确保该用户拥有管理员权限, 同时请执行GRANT CREATE ANY TABLE ...

    oracle10g课堂练习II(1)

    RMAN 资料档案库数据存储:选项比较 2-9 备份目标 2-11 介质管理 2-12 将快速恢复区与 RMAN 配合使用 2-14 使用 EM 监视快速恢复区 2-16 快速恢复区的空间使用 2-17 V$FLASH_RECOVERY_AREA_USAGE 2-18 备份...

Global site tag (gtag.js) - Google Analytics