zoukankan      html  css  js  c++  java
  • oracle存储过程和自定义函数

    create [or replace] PRocedure 过程名(参数列表)

    AS

    PLSQL 子程序体;

    存储过程写完之后,要调用这个存储过程;

    有两种方法:

    1.exec 存储过程名();

    2.PL/SQL

    begin

    存储过程名();

    end;

    /

    如何调试和运行PL/SQL 语句;

    进入debeg 模式

    函数(Function)为一命名的存储程序;可带参数,并返回一计算值;用PL/SQL 语句的写的程序;

    函数和过程的结构类似,但是必须有一个RETURN 子句,用于返回函数值;

    create [or replace] FUNCTION 函数名(参数列表);

    return 函数值类型;

    as

    PLSQL子程序体;

    in 和out 参数;

    一般来讲,存储过程和存储函数的区别在于存储函数可以有一个返回值;

    而存储过程没有返回值;

    过程和函数都可以通过out指定一个或者多个输出参数,我们可以利用out参数,在过程和函数实现返回多个值;

    存储过程和存储函数都可以有out参数:

    存储过程和存储函数都可以有多个out参数;

    存储过程可以通过out参数来实现返回值;

    什么时候用存储过程/存储函数;

    原则:

    如果只有一个返回值,用存储函数,否则,就用存储过程;

    在应用程序中如何调用存储函数和存储过程;

    out参数使用光标;

    申明包结构、包头、包体;

    包头:

    create or replace package mypackage as

       type empcursor is ref cursor;

       procedure queyEmpList(dno in number,empList out empcursor);

    end mypackage;

    包体:

    create or peplace package body mypackage as

       procedure queryEmList(dno in number,empList out empcursor) AS

     BEGIN

        open empList for select * from emp where deptno = dno ;

        END queryEmpList;

    END MYPACKAGE;

    包体需要实现包头中声明的所有方法;

    可以在命令行里查看程序包的结构;

    使用desc 查看程序包的结构;

    desc MYPACKAGE;(你想查看的包的名称);

    在应用程序中访问包中的存储过程;

    注意:需要带上包名;

  • 相关阅读:
    MvvmLight:Command
    TreeView控件
    visual studio背景色
    公共语言运行时
    颜色列表
    自定义控件【旋转按钮,带圆角的边框】
    Loding Animation
    ComboBox前台xaml绑定数据
    Blend一些属性图解
    找到视觉树的方法
  • 原文地址:https://www.cnblogs.com/zht0915/p/4767966.html
Copyright © 2011-2022 走看看