【问题标题】:Writing a function in plsql在plsql中编写函数
【发布时间】:2011-06-07 15:21:37
【问题描述】:

我正在查询数据库并且需要解析特定值的字段之一(使用字符串函数)。所以我认为最好为它编写一个函数。我之前从未在 plsql 中编写过函数,所以我决定看一些示例。

我得到了一个简单的“square”函数的副本,它接受一个数字并返回它的平方,但不知道如何从 SQL 语句中调用它。

我只有读取权限。我是否能够编写函数并使用它们来检索我需要的数据?如果有,怎么做?

【问题讨论】:

    标签: oracle plsql


    【解决方案1】:

    为了能够创建函数,您的用户需要 DBA 授予它的 CREATE PROCEDURE 权限:

    grant create procedure to myschema;
    

    如果你有权限,那么你可以创建一个这样的函数

    create function square(n in number) return number
    is
      return n*n;
    end;
    

    您可以像这样从 SQL 中调用它:

    select num, square(num)
    from mytable;
    

    注意:在 Oracle 中,通常首选在 packages 中创建函数,在这种情况下,调用 SQL 如下:

    select num, mypackage.square(num)
    from mytable;
    

    【讨论】:

    • 嗯,所以我需要更多权限。我想我将不得不用我所拥有的。
    猜你喜欢
    • 1970-01-01
    • 2022-01-19
    • 2020-08-06
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    相关资源
    最近更新 更多