zoukankan      html  css  js  c++  java
  • PL/SQLProcedure(过程)和Function(函数)的区别

                                                                        过程和函数的区别:

    过程

    函数

    使用关键字 procedure 声明

    使用关键字 function 进行声明

    都可以使用 IN/OUT/IN-OUT 格式的参数

    在定义的时候,不需要进行 return( 返回值 )

    需要指定使用 return 定返回值的类型

    都可以由声明、执行、异常处理三个部分组成

    可以作为独立的 PL/SQL 语句单独执行

    在 PL/SQL 中必须指定变量接收返回,必须在表达式中使用

    可以在内部包含 RETURN 子句,类似 JAVA 中的使用

    必须包含一个有效的 RETURN 子句

    在 COMMAND 命令窗口中,使用 EXECUTE 命令执行过程

    借用 select 语句来执行

    在 DDL 和 SELECT 语句中不可以调用过程

    在 DDL 和 SELECT 语句中可以调用函数

                  都可以使用 CALL 参数来调用相应的函数或过程 :

                  V_SQL_F := 'CALL TEST_FUNC_P(:P_1) INTO :V_RESULT';

                  V_SQL_P := 'CALL TEST_CALL_P(:P_1)';

                  EXECUTE IMMEDIATE V_SQL_F

                                  USING IN V_I_P1, OUT V_RESULT;

                  EXECUTE IMMEDIATE V_SQL_P

                                  USING IN V_I_P1;

    都可以使用默认值,都可以使用位置表示法和名称表示法

    当需要返回多个值的时候,推荐使用过程

    当需要返回一个值的时候,推荐使用函数

     

    I believe that we are who we choose to be. Nobody‘s going to come and save you, you‘ve got to save yourself. 我相信我们成为怎样的人是我们自己的选择。没有人会来拯救你,你必须要自己拯救自己。
  • 相关阅读:
    proto,生成指定包名的java类
    龋齿比较深了还能补吗
    Spring Security with JWT for REST API[转]
    ci-Model使用方法
    ci-crud增删改查基本操作
    openjdk11 下载地址
    System.InvalidOperationException: Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found or is out of date.
    Newtonsoft.Json高级用法之枚举中文转义
    java中文与unicode编码之间的转换
    SpringBoot参数校验-Validator
  • 原文地址:https://www.cnblogs.com/caroline/p/2296499.html
Copyright © 2011-2022 走看看