107 ORACLE 创建存储过程,存储函数
发布网友
发布时间:2022-11-19 11:19
我来回答
共1个回答
热心网友
时间:2024-12-04 09:11
基本概念
存储过程和存储函数相当于一个东西。
存储过程在Oracle里叫procere。
存储过程没有返回值。
存储函数在Oracle里叫function。
存储函数有返回值。
基本语法
create or replace procere 名字
--create or replace 意思是创建或者替换
as
--可以在此定义参数
begin
语句;
end;
例:
create or replace procere sayhello
as
--说明 相当与declare
begin
dbms_output.put_line('Hello World');
end;
基本调用
begin
-- Call the procere
sayhello;
sayhello;
sayhello;
end;
带参数的存储过程--查询某个员工的年收入
create or replace procere upmoney(testname in test_procere.name%type)
as
begin
update test_procere t set t.money = t.money + 1000
where t.name = testname;
end
upmoney;
特别的地方,参数要指明是输入参数还是输出参数。
存储函数
create or replace function Fupmoney(tname in varchar2) return number
as --定义月薪参数
tmoney test_procere.money%type;
begin
--得到月薪
select t.money
into tmoney
from test_procere t
where t.name = tname;
dbms_output.put_line(tmoney*12);
return(tmoney*12);
end;
创建一个多输出参数的存储函数例子
create or replace procere manyparm(tname in varchar2,
tjob out varchar2,
tmoney out number,
tdept out varchar2)
is
begin
select t.job,t.money,t.dept
into tjob,tmoney,tdept
from test_procere t
where t.name = tname;
end manyparm;