应朋友要求,写个存储过程说明,本篇比较简单,适合新接触存储过程的同学
先来个简单的
begin dbms_output.put_line('my first execute'); end;
如果使用的是pl/sql,执行后会在output中打印my first execute,那么这里就有了第一个功能
dbms_output.put_line,在output里面打印结果,另外还有dbms_output.put,这个通常不用,put不含回车,而put_line是含回车的
下面介绍下如何写一个完整的存储过程,一个完整的存储过程,如下
create or replace procedure my_first_pro(user_input varchar2) as n number; begin n := 1; dbms_output.put_line('user input values is '||user_input); dbms_output.put_line('n = '||n); end;
一个完整的存储过程至少包含两部分
1、创建一个叫my_first_pro的存储过程create procedure my_first_pro as
2、begin
end;
在begin和end中间是存储过程需要实现的功能
下面对上面代码做一个说明
创建存储过程不解释了,or replace表示使用新修改的存储过程覆盖现有的存储过程,可以尝试不加这个,如果不加的话会提示报错存储过程已存在,即不可覆盖
在存储过程名称后面的括号里面,user_input varchar2这个是输入参数,默认是in参数,如果是输出参数,可以输入user_output out varchar2
n number 这个是声明变量,变量在使用前必须声明,并表明类型,这点和c很像,具体类型可百度,常用的有number、varchar2、char(1)
n := 1 对n进行赋值,oracle里为了区分判断使用=和赋值使用=的区别,在赋值时不能直接使用=,需要使用:=
dbms_output.put_line讲过了,值得说明的是在存储过程里面支持oracle的sql所有功能,用法也差不多,比如这里使用的连接符||
那么结果就是显示入参的values和n的赋值
先写这些了,睡觉,明天写for和游标