For at kunne oprette en funktion skal din bruger have privilegiet CREATE PROCEDURE givet til den af DBA:
grant create procedure to myschema;
Hvis du har privilegiet, kan du oprette en funktion som denne
create function square(n in number) return number
is
return n*n;
end;
Og du kan kalde det fra SQL sådan her:
select num, square(num)
from mytable;
Bemærk:I Oracle foretrækkes det normalt at oprette funktioner i pakker , i hvilket tilfælde den kaldende SQL ville være sådan:
select num, mypackage.square(num)
from mytable;