create or replace procedure RY_JBXX_Insert
(
tRYBH in RY_JBXX.RYBH%type, /*人员编号*/
tSFZH in RY_JBXX.Sfzh%type, /*公民身份证号*/
tXM in RY_JBXX.Xm%type, /*姓名*/
tSSBM in RY_JBXX.Ssbm%type, /*所属部门*/
tXB in RY_JBXX.Xb%type, /*性别*/
tDJSJ in RY_JBXX.Djsj%type, /*登记时间*/
tRZSJ in RY_JBXX.Rzsj%type, /*入住时间*/
tLZSJ in RY_JBXX.LZSJ%type,
tZZBS in RY_JBXX.ZZBS%type,
return_var out varchar2
)
is
begin
/*插入数据至ry_jbxx*/
if lengthb(trim(tSFZH))>10 and lengthb(trim(tXM))>1 and lengthb(trim(tRYBH))>0
and lengthb(trim(tSSBM))>0 and lengthb(trim(tXB))>0 and lengthb(trim(tDJSJ))>0
and lengthb(trim(tRZSJ))>0 and lengthb(trim(tZZBS))>0 then
insert into ry_jbxx
(rybh,sfzh,xm,ssbm,xb,djsj,rzsj,ZZBS)
values
(
trim(tRYBH),trim(tSFZH),trim(tXM),trim(tSSBM),trim(tXB),trim(tDJSJ),trim(tRZSJ),trim(tZZBS));
commit;
return_var := 'OK';
else
return_var := 'error';
end if;
if lengthb(trim(tSFZH))>10 and lengthb(trim(tXM))>1 and lengthb(trim(tRYBH))>0
and lengthb(trim(tSSBM))>0 and lengthb(trim(tXB))>0 and lengthb(trim(tDJSJ))>0
and lengthb(trim(tRZSJ))>0 and lengthb(trim(tLZSJ))>0 and lengthb(trim(tZZBS))>0 then
insert into ry_jbxx
(rybh,sfzh,xm,ssbm,xb,djsj,rzsj,lzsj,zzbs)
values
(
trim(tRYBH),trim(tSFZH),trim(tXM),trim(tSSBM),trim(tXB),trim(tDJSJ),trim(tRZSJ),trim(tLZSJ),trim(tZZBS));
commit;
return_var := 'OK';
else
return_var := 'error';
end if;end RY_JBXX_Insert;
(
tRYBH in RY_JBXX.RYBH%type, /*人员编号*/
tSFZH in RY_JBXX.Sfzh%type, /*公民身份证号*/
tXM in RY_JBXX.Xm%type, /*姓名*/
tSSBM in RY_JBXX.Ssbm%type, /*所属部门*/
tXB in RY_JBXX.Xb%type, /*性别*/
tDJSJ in RY_JBXX.Djsj%type, /*登记时间*/
tRZSJ in RY_JBXX.Rzsj%type, /*入住时间*/
tLZSJ in RY_JBXX.LZSJ%type,
tZZBS in RY_JBXX.ZZBS%type,
return_var out varchar2
)
is
begin
/*插入数据至ry_jbxx*/
if lengthb(trim(tSFZH))>10 and lengthb(trim(tXM))>1 and lengthb(trim(tRYBH))>0
and lengthb(trim(tSSBM))>0 and lengthb(trim(tXB))>0 and lengthb(trim(tDJSJ))>0
and lengthb(trim(tRZSJ))>0 and lengthb(trim(tZZBS))>0 then
insert into ry_jbxx
(rybh,sfzh,xm,ssbm,xb,djsj,rzsj,ZZBS)
values
(
trim(tRYBH),trim(tSFZH),trim(tXM),trim(tSSBM),trim(tXB),trim(tDJSJ),trim(tRZSJ),trim(tZZBS));
commit;
return_var := 'OK';
else
return_var := 'error';
end if;
if lengthb(trim(tSFZH))>10 and lengthb(trim(tXM))>1 and lengthb(trim(tRYBH))>0
and lengthb(trim(tSSBM))>0 and lengthb(trim(tXB))>0 and lengthb(trim(tDJSJ))>0
and lengthb(trim(tRZSJ))>0 and lengthb(trim(tLZSJ))>0 and lengthb(trim(tZZBS))>0 then
insert into ry_jbxx
(rybh,sfzh,xm,ssbm,xb,djsj,rzsj,lzsj,zzbs)
values
(
trim(tRYBH),trim(tSFZH),trim(tXM),trim(tSSBM),trim(tXB),trim(tDJSJ),trim(tRZSJ),trim(tLZSJ),trim(tZZBS));
commit;
return_var := 'OK';
else
return_var := 'error';
end if;end RY_JBXX_Insert;
但是如果传入参数同时满足第一个和第二个if的条件,
你很可能对一同一条数据,insert两回(第二回多一个lzsj字段)。
但是如果这个lzsj不是主键的一部分,你就会出主键冲突的错误。