gpt4 book ai didi

sql - 我什么时候应该在 PL/SQL 中使用过程或函数?

转载 作者:行者123 更新时间:2023-12-04 03:45:34 25 4
gpt4 key购买 nike

我是 PL/SQL 新手,正在尝试一些练习示例。我对 PL/SQL 有几个问题 PROCEDURE & FUNCTION :

我应该什么时候去PROCEDUREFUNCTION?
意思是,无论我在做什么任务 FUNCTION使用 PROCEDURE 可以完成相同的任务.
那我为什么要去做这个功能呢?是他们的优势FUNCTIONPROCEDURE在 PL/SQL 中?
FUNCTION必须返回值。这是使用函数的唯一优势还是函数的其他优势?

最佳答案

我想澄清一下,是否应该使用存储过程或函数的答案完全取决于您的业务需求和设计工作流程,前提是您清楚您的程序目标。如果你不清楚你的目标,就像你的问题一样,再多的编码程序和功能都没有用。

您必须注意,存储过程和函数在 PL/SQL 编程中有不同的用途。这些如下:

  • 存储过程:

    一种。存储过程表示能够接受参数并对其进行处理的命名块(与匿名块相对)。

    湾存储过程定义了一个独立的过程工作流,您可以在其中执行一系列 DML 和/或其他操作。

    C。存储过程不必返回值。因此,不能从 SQL 语句内部调用它们。存储过程必须从 PL/SQL 块命名或匿名执行。

    d.优点:
  • 过程不必返回值(这也可能是一个缺点)。
  • 可用于执行一系列 DML 或 DDL(是的,这可以通过具有一些限制的动态 SQL 实现)操作。
  • 可以简单地作为来自 PL/SQL 块的独立语句调用。例如。,
    myProcedure (x, y);

  • e.缺点:
  • 无法从 SQL 查询调用 - DML 或 SELECT陈述。
  • 不能在索引中使用。
  • 职能:

    一种。函数是能够接受参数并返回值的命名块。

    湾函数还定义了过程工作流,但在 SQL 语句中使用时,您不能执行任何 DML 或 DDL。

    C。必须从使用函数返回值的 SQL 或 PL/SQL 语句调用函数 - 即分配给变量、作为参数传递等。

    d.优点:
  • 可用于 SQL 查询 - DML 或 SELECT陈述。
  • 如果函数是确定性的(意味着对于一组确定的输入,函数每次调用时都返回相同的输出),则可以在基于函数的索引中使用。

  • e.缺点:
  • 如果从 SQL 查询调用的函数包含任何 DML,则查询失败。
  • 函数必须返回一个值。因此,函数调用不能像过程调用那样是独立的语句。

  • 如需进一步引用,请访问 Oracle Docs .

    关于sql - 我什么时候应该在 PL/SQL 中使用过程或函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9848926/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com