天再高又怎样,踮起脚尖就更接近阳光。—-我们共勉
1.引言
官方定义
Oracle提供把PL/SQL程序存储在数据库中,并可以在任何地方运行它,就是存储过程(存储函数)。
通俗的说:把一些操作数据库的语句(select,update,delete等)也像表和视图一样存在数据库中。
小常识
1.过程和函数统称为PL/SQL子程序。
2.过程和函数唯一的区别:
函数总是向调用者返回数据,过程则不需要。
hello world
函数的hello world:返回一个“hello world”字符串。
create or replace function hello_world
return varchar2
is
begin
return '我是hello world,么么哒!';
end;
想看一下你是否创建成功,只需要:
SQL>select hello_world from dual;
控制台会显示:我是hello world,么么哒!
2.带输出参数的简单的存储过程
create or replace function demo1(haha varchar2)
return varchar2
is
begin
dbms_output.put_line('唐伯虎是华安');
return '你好'||haha;
end;
执行以下代码调用函数:
SQL>select demo1(‘秋香’) from dual;
你会发现输出如下:
结论:
虽然“唐伯虎是华安”写在前面,但是却在后面输出,所以输出顺序是:
先输出return ……然后才输出其他的。
3.创建一个存储函数,返回当前系统时间
create or replace function get_date
return date
is
v_date date;
begin
v_date:=sysdate;
return v_date;
end;
执行以下代码调用函数:
SQL>select get_date from dual;
4.定义带参数的函数:两个数相加
create or replace function adds(num1 number,num2 number)
return number
is
begin
return num1+num2;
end;
执行以下代码调用函数:
SQL>select adds(1,3) from dual;