PL/SQL 存储过程和存储函数

时间:2022-09-26 22:59:04

天再高又怎样,踮起脚尖就更接近阳光。—-我们共勉

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;

你会发现输出如下:

PL/SQL 存储过程和存储函数

结论:
虽然“唐伯虎是华安”写在前面,但是却在后面输出,所以输出顺序是:
先输出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;

PL/SQL 存储过程和存储函数

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;

PL/SQL 存储过程和存储函数

PL/SQL 存储过程和存储函数