create?or?replace?function?f(d?number)
return?varchar
is
begin
return?substr(d,instr(d,'.')+1);
end?f;
基本概念
存储过程和存储函数相当于一个东西.
存储过程在Oracle里叫procedure.
存储过程没有返回值.
存储函数在Oracle里叫function.
存储函数有返回值.
基本语法
create or replace procedure 名字
--create or replace 意思是创建或者替换
as
--可以在此定义参数
语句;
end;
例:
create? or? replace ? procedure ? sayhello
--说明 相当与declare
dbms_output.put_line('Hello World');
基本调用
-- Call the procedure
sayhello;
带参数的存储过程--查询某个员工的年收入
create or replace procedure upmoney(testname in test_procedure.name%type)?
begin?
update test_procedure t set t.money = t.money + 1000
where t.name = testname;?
end?
upmoney;
特别的地方,参数要指明是输入参数还是输出参数.
存储函数
as ? ? --定义月薪参数
tmoney test_procedure.money%type;
--得到月薪
select t.money
? into tmoney
? from test_procedure t
where t.name = tname;
创建一个多输出参数的存储函数例子
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tmoney out number,
select t.job,t.money,t.dept
? ? into tjob,tmoney,tdept
? ? from test_procedure t
? ? where t.name = tname;
end manyparm;
你这是无返回类型啊.
应该这么写试试.
create or replace
FUNCTION "函数名"
(
A in number,
B in number,
)
BEGIN
insert into 表名 values(A+B,name);
END 函数名;
//花括号里边就是需要传的参数,name如果是固定的可以直接写死,就不用传参了
以上就是土嘎嘎小编为大家整理的oracle函数如何创建相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!