ORACLE下的存储过程和函数
存储过程和函数是一种操作块,用来流程化、整体化处理业务逻辑的数据库操作方式。我理解的是相当于java开发语言中方法的概念,存储过程和函数的区别在于函数可以有返回值,而过程没有返回值。
1.存储过程
-- 创建存储过程语法,存储过程可以接收的参数类型有两类: -- in 输入类型、out 输出类型 CREATE OR REPLACE PROCEDURE 过程名(参数列表) |
接下来看几个常用的例子
-- 创建无参的存储过程 Create or replace procedure pro_test1 As Begin dbms_output.put_line('hello world'); End; |
创建有参的存储过程,并调用
-- 创建存储过程 create or replace procedure pro_test2(pid in varchar,pname in varchar,pnum out number)
-- 调用存储过程 set serveroutput on; |
在普通sqlplus中,可以使用exec 来调用存储过程。
2.函数
-- 创建函数的语法,必须要有一个return返回值 CREATE OR REPLACE FUNCTION 函数名(参数列表) |
接下来看几个常用的例子
-- 创建无参的函数 create or replace function f_test1 -- 调用函数 Select f_test1 from dual; |
再来一个带参数的函数
create or replace function f_test2(str varchar2) -- 调用函数 select f_test2('a b') from dual; |