数据库存储过程的创建

来源:互联网 发布:淘宝分期只能用花呗吗 编辑:程序博客网 时间:2024/05/06 14:03

       在平时操作数据库的时候,我们使用存储过程频率是相当高的,对于很多新手来说,存储过程还是相对老说比较抽象的一个概念,今天我们就来了简单的解一下什么事存储过程,

    首先,存储过程和函数在实现上是相差不大的,所谓的存储过,其实是相对一单条sql来讲的一组的sql语句的集合,一个存储过程中可以包含多条sql语句。在这里举一个简单的例子,比如说,我们在网上商城买东西的时候,首先我们需要进行一个判断,确认这件商品还有没有,如果有,则进行预约,减库存,若没有,则需要向供应商进行进购,这里我们用一个很简单的存储过程实现就需要先查询库存,再根据结果来执行后面的sql。

    说了这么多,先看看存储过程的结构

    CREATE  PROCEDURE  procedure_name     --存储过程的命名

    AS          --存储过程参数和属性的定

   BEGIN     --开始标志

   END        --结束标志


   下面给出一个存储过程的实例:

      create table baidu_help
      (h_id number(4),
      h_name varchar2(10),
     h_value varchar2(20));
   --注入测试数据

   insert into baidu_help (H_ID, H_NAME, H_VALUE)
   values ('1', 'name1', 'value1');
   insert into baidu_help (H_ID, H_NAME, H_VALUE)
   values ('2', 'name2', 'value2');
   insert into baidu_help (H_ID, H_NAME, H_VALUE)
   values ('3', 'name3', 'value3');
--测试存储过程,入参id,出参name,value

   create or replace procedure prc_baidu_help(prm_id in number, prm_name out varchar2, prm_value out varchar2) is
   rec_baidu_help baidu_help%rowtype;
   begin

   select * into rec_baidu_help from baidu_help where h_id = prm_id; --获取记录集
   prm_name:= rec_baidu_help.h_name;
   prm_value:= rec_baidu_help.h_value;
   exception when others then
   prm_name := 'error';

   end;

1 0
原创粉丝点击