oracle 存储过程

oracle是基于c来做的。

游标   自身特性,有点类似于集合的变量

存储过程,类似于java的方法。在sql中加入过程处理语句。

 

结构

-- Created on 2020/11/04 by IAMEY 
declare 
--使用的变量在这个地方定义,如果没有变量,这个部分可以省略
  -- Local variables here
  i integer;
  V_Name emp.ename%type;-------推荐使用这样的声明方式
  v_emp emp%rowtype;------------全部检索表,抽出全项目的话,可以使用,否则占用空间
                               因为检索的时候用select * from emp;
begin
  -- Test statements here
  --业务的处理部分

end;

变量

1,普通变量

2,特殊变量(引用型变量,记录型变量)

     引用型变量  变量类型取决于表的字段的类型

    记录型变量   接受的是一整条记录的值,类似于java中的一个对象。

 

3,声明方式

    变量名   类型 长度

   变量必须赋值之后才可以使用。

  3.1 赋值方式

        3.1.1  直接赋值

        3.1.2    将结果直接赋值

 

4,字符的拼接 用 ||

 

流程控制

if  then 

  elsif   then

 else

end if;

 

循环

begin

      loop

              exit when  条件;

             循环处理;

            循环变量的自增;v_num := v_num + 1;

 

      end loop;

 

游标

    用于存储一个查询的多行数据,循环游标就可以逐行的处理相关数据

 

1,使用方法

    声明    ---》   打开  -----》 读取  ----》 关闭

2, cursor   游标名  is 查询语句;

       open  游标名

 

 

 

3, declare

             ------声明游标

          -------声明接受游标中的数据的变量

   begin

          ---打开游标;---有参数的时候,参数在这个地方传入.

        --遍历游标

        loop

              -- 获取游标的数据

                 fetch  emp into v_name,v_sal;

              --推出游标

               exit when c_emp%notfound;

            --逻辑处理

    end loop;

    

存储过程

前边的处理无法重复的调用.

存储过程就是plsql的业务处理存储起来.称为存储过程.

 

1,创建方法

         create or replace procedure  过程名(参数列表

                                                                   in_empno IN emp.empno%type

                                                                   o_sal OUT emp.empsal%type)  is

       --直接声明遍历不需要declear

v_name emp.ename%type;

 

       begin

 

      end 过程名;

・可以带或不带输入参数或者输出参数.

点击执行的话,将begin和end之间的业务存储起来.

 

2,使用方法

declare

   ---有输出参数的时候定义

v_sal emp.sal%type;

begin

过程名

end ;

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iameyama

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值