我已经编写了一个存储过程,我试图在其中插入和更新值。我在执行插入时担心(它包含 5 个参数和不同的数据类型)有不同的值,并且在更新时(它包含 6 个参数和不同的数据类型)有不同的值。我想对这两种情况使用单个存储过程(插入/更新)。如何管理参数?
步骤
create or replace procedure PS_File_Update_Insert (
Input_val in varchar2
, p1 in varchar2
, p2 in varchar2
, p3 in varchar2
, p4 in varchar2
, p5 in varchar2
)
is
BEGIN
if Input_val = 'Insert' then
insert into PS_FILE (SRC_FILE_ID
,TRUSTED_PARTY_ID
,FILE_NM,FILE_PROC_DT
,FILE_STATUS)
values (SRC_FILE_ID_SEQ.nextval
,1234
,'zxcv'
,SYSDATE
,'NEW');
elsif Input_val = 'update' then
update PS_FILE
set FILE_STATUS='STAGING'
, REC_CNT='abcd'
, ERR_CNT='123'
, DUPE_CNT=NULL
where SRC_FILE_ID='1234';
end if;
end;