在plsql中编写函数
Posted
技术标签:
【中文标题】在plsql中编写函数【英文标题】:Writing a function in plsql 【发布时间】:2011-06-07 15:21:37 【问题描述】:我正在查询数据库并且需要解析特定值的字段之一(使用字符串函数)。所以我认为最好为它编写一个函数。我之前从未在 plsql 中编写过函数,所以我决定看一些示例。
我得到了一个简单的“square”函数的副本,它接受一个数字并返回它的平方,但不知道如何从 SQL 语句中调用它。
我只有读取权限。我是否能够编写函数并使用它们来检索我需要的数据?如果有,怎么做?
【问题讨论】:
【参考方案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;
【讨论】:
嗯,所以我需要更多权限。我想我将不得不用我所拥有的。以上是关于在plsql中编写函数的主要内容,如果未能解决你的问题,请参考以下文章