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
当存储过程定义了默认值后,表也定义了默认值,表的默认值优先级高于存储过程;