107 ORACLE 创建存储过程,存储函数

基本概念

存储过程和存储函数相当于一个东西。

存储过程在Oracle里叫procedure。

存储过程没有返回值。

存储函数在Oracle里叫function。

存储函数有返回值。

基本语法

create or replace procedure 名字

--create or replace 意思是创建或者替换

as

--可以在此定义参数

begin

语句;

end;

例:

create  or  replace   procedure   sayhello

as

--说明 相当与declare

begin

dbms_output.put_line('Hello World');

end;

基本调用

begin

-- Call the procedure

  sayhello;

  sayhello;

  sayhello;

   end;

带参数的存储过程--查询某个员工的年收入

create or replace procedure upmoney(testname in test_procedure.name%type) 

as

begin 

update test_procedure 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_procedure.money%type;

begin

  --得到月薪

  select t.money

    into tmoney

    from test_procedure t

  where t.name = tname;

  dbms_output.put_line(tmoney*12);

  return(tmoney*12);

end;

创建一个多输出参数的存储函数例子

create or replace procedure 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_procedure t

      where t.name = tname;

end manyparm;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。