За да може да създаде функция, вашият потребител се нуждае от привилегията CREATE PROCEDURE, предоставена му от DBA:
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 обикновено се предпочита да се създават функции в пакети , в който случай извикващият SQL би бил като:
select num, mypackage.square(num)
from mytable;