我正在查询数据库并需要解析其中一个字段以获取特定值(使用字符串函数)。所以我认为最好为它编写一个函数。我以前从未在plsql中编写过函数,所以我决定查看一些例子。
我得到了一个简单的“square”函数的副本,该函数接受一个数字并返回它的平方,但我不确定如何从SQL语句中调用它。
我只有读取权限。我能编写函数并使用它们来检索我需要的数据吗?如果是这样,怎么样?
答案 0 :(得分:3)
为了能够创建一个函数,您的用户需要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;