Oracle带参数的存储过程实例解析

1、创建存储过程

create procedure updatedemo  (ageparam in number)
as
begin
update demo set age = ageparam;
commit;
end;
/

2、传参执行

begin
updatedemo(20);
end;
/

3、为存储过程设置参数的默认值

3.1创建存储过程

create or replace procedure insertdemo(id in char,name in char default '路人',age in char default '30',sex in char) 
as
begin
insert into demo values(id,name,age,sex);
commit;
end;
/

3.2、运行该存储过程

begin
insertdemo('5','孙尚香',null,'female');
end;
/

注意1

这里我出现了一个问题,就是我的表的字段是id,name,sex,age;但是我定义的存储过程是id,

name,age,sex;最后两个字段的位置跟表结构不一样;插入的时候,插入的核心是存储过程里的

insert into demo values(id,name,age,sex);

这句话,然后传参的顺序丝毫不会影响到insert表的顺醋,插入式,会将你的变量id,name

age,sex插入到字段id,name,age,sex中,这里要注意,前4个是参数,后4个是字段;

注意2

当存储过程定义了默认值后,表也定义了默认值,表的默认值优先级高于存储过程;

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐