oracle存储过程学习(-)-基本过程

1.存储过程语法

create or replace procedure 存储过程名
is

begin
  
null;

end;

2.新建一个存储过程

create or replace procedure SELECT_PACT_TYPE 
is
--定义变量
pactTypeId number;
typeName nvarchar2(100);
begin
  select t.pact_type_id,t.pact_type_name into pactTypeId, typeName from crm_pact_type t where t.pact_type_id=2;--select into 赋值给变量 from
  dbms_output.put_line(pactTypeId || typeName);--调试输出
  exception
  when no_data_found then null;--未查到数据
   WHEN OTHERS THEN RAISE;
end ;

3.如果查询多条数据,用游标,把上面的改进

create or replace procedure SELECT_PACT_TYPE 
is
--定义变量
pactTypeId number;
typeName nvarchar2(100);
--游标
cursor c is select t.pact_type_id,t.pact_type_name  from crm_pact_type t ;
begin
  --循环游标
  for cr in c loop
    begin 
      --赋值
      pactTypeId := cr.pact_type_id;
      typeName := cr.pact_type_name;
      dbms_output.put_line( pactTypeId || typeName );
     end;
     end loop;
   exception
   when no_data_found then null;
end ;

4.带参数的查询

create or replace procedure SELECT_PACT_TYPE(id in number)
is
--定义变量
pactTypeId number;
typeName nvarchar2(100);
--游标
cursor c is select t.pact_type_id,t.pact_type_name  from crm_pact_type t where t.pact_type_id=id;
begin
  --循环游标
  for cr in c loop
    begin 
      --赋值
      pactTypeId := cr.pact_type_id;
      typeName := cr.pact_type_name;
      dbms_output.put_line( pactTypeId || typeName );
     end;
     end loop;
   exception
   when no_data_found then null;
end ;

5.调用上面带参数存储过程

declare 
i number;
begin
  i:=2;
  -- 调用 id=>i id是存储过程的形参 ,i 是实际参数的值 ,将i的值赋给了id
  select_pact_type(id => i);
end;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值