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