【问题标题】:How to select value of variable in ORACLEORACLE中如何选择变量的值
【发布时间】:2014-01-09 15:14:09
【问题描述】:

以下是 SQL Server 选择变量作为记录的语法

DECLARE @number AS INTEGER;
SET @number = 10;
SELECT @number;

如何在 ORACLE 中做到这一点?

提前致谢。

问候,
萨加尔南纳韦尔

【问题讨论】:

    标签: sql-server oracle declare


    【解决方案1】:

    根据评论编辑: 访问过程分配的变量值的一种方法是再次通过函数。 示例:

    CREATE OR REPLACE PROCEDURE your_procedure(out_number OUT number)
        IS
        BEGIN
          out_number:=1;
        END;
    

    检索过程输出的函数

    CREATE OR REPLACE FUNCTION your_function
        RETURN number
    AS
        o_param  number;
    BEGIN
        o_param := NULL;
        your_procedure(o_param);
        RETURN o_param;
    EXCEPTION
        WHEN NO_DATA_FOUND
        THEN
           return 0; --basically how you want to handle your errors.
    
    END your_function;
    

    现在您可以选择过程的输出

    select your_function from dual;
    

    有用的链接how to access an Oracle procedure's OUT parameter when calling it?


    如果您尝试创建一个变量以访问 oracle 应用程序中的任何位置。 您可以通过创建函数并从 dual 调用它来做到这一点。

    SQL>create or replace function foo return number
      as
       x number;
       begin
       x:=1;
       return 1;
       end;
    
    Function created.
    
    SQL>select foo from dual;
    
         FOO
    ----------
             1
    

    请查看以下链接了解更多详情 [示例链接] (http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1562813956388)

    【讨论】:

    • 首先感谢您的回复。我不能使用用户定义的函数来返回值,因为我提到的变量是存储过程的输出参数并通过它分配。那么还有其他方法吗?
    猜你喜欢
    • 2013-09-29
    • 2020-12-20
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多