我正在查询数据库,需要解析其中一个字段以获取特定值(使用字符串函数)。所以我认为最好为其编写一个函数。我以前从未在 plsql 中编写过函数,所以我决定看一些示例。
我得到了一个简单的“square”函数的副本,它接受一个数字并返回它的平方,但不知道如何从 SQL 语句中调用它。
我只有读取权限。我能够编写函数并使用它们来检索我需要的数据吗?如果是这样,怎么办?
为了能够创建函数,您的用户需要 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 http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/packages.htm#CIHIJECJ,在这种情况下调用 SQL 将类似于:
select num, mypackage.square(num)
from mytable;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)