欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-26 17:40:47
1、创建存储过程 create procedure updatedemo (ageparam in number) as begin update demo set age = agep...

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

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