数据库_存储过程简介(oracle版)

时间:2018-08-20
本文章向大家介绍数据库_存储过程简介(oracle版),需要的朋友可以参考一下。

应朋友要求,写个存储过程说明,本篇比较简单,适合新接触存储过程的同学

先来个简单的

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和游标