【问题标题】:How to declare variables in procedure in PL/SQL如何在PL/SQL的过程中声明变量
【发布时间】:2021-07-03 04:34:38
【问题描述】:

在 PL/SQL 中,我了解到有两种方法可以定义如下所示的过程。

方法一

DECLARE 
    a number;
PROCEDURE print(mynum number) IS
BEGIN
    dbms_output.put_line(mynum);
END;

方法二

CREATE print(mynum number) IS
BEGIN
    dbms_output.print_line(mynum);
END;

但仅在方法 2 中,该过程将存储在 DBMS 中,因为我们可以一次又一次地调用它。创建 PLSQL 过程的两种不同方法有什么区别?我们如何在 DBMS 中创建和保存由声明变量组成的存储过程?

【问题讨论】:

  • 这与声明变量有什么关系?如果这是您的建议,程序不是变量。另外,方法一也行不通。

标签: sql database oracle plsql


【解决方案1】:

虽然您发布了无效的语法,但我想我理解了这个问题。

如果你想存储过程,你必须使用你所谓的“方法2”,例如

create or replace procedure print (mynum number) is
  a number;                      --> locally declared variable
begin
  a := mynum * mynum;
  dbms_output.put_line(mynum);
  dbms_output.put_line(a);
end;
/

第一段代码(“方法 1”)代表一个匿名 PL/SQL 块,其内容在会话结束时(即断开连接时)“丢失”。

【讨论】:

    猜你喜欢
    • 2012-01-18
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 2018-03-07
    相关资源
    最近更新 更多