create or replace procedure PCInsertOrUpdateMsg(
companyId varchar2 :='1',
personId varchar2 :='6',
resume_name varchar2 :='简历1',
msg varchar2 := ''
)
as
BEGIN
IF not exists (select 1 from t_person_company where person_id = personId and resume_name = resume_name and company_id = companyId and company_to_person = '1' and success = '1') THEN
insert into t_person_company values (company_id = companyId,person_id = personId,company_to_person = '1',success = '1' ,msg,sysdate,resume_name = resume_name,null);
ELSE
update t_person_company set message = msg , company_to_person = '1' where person_id = personId and company_id = companyId and resume_name = resume_name and success = '1');
END IF;
END;
/
请各位大神门帮忙看下,oracle中的 if else 到底怎么用。感激不尽!
是不是else后面少半个括号
create or replace procedure PCInsertOrUpdateMsg(
companyId varchar2 := '1',
personId varchar2 := '6',
resume_name varchar2 := '简历1',
msg varchar2 := '') as
v_count integer;
BEGIN
select count(1)
into v_count
from t_person_company
where person_id = personId
and resume_name = resume_name
and company_id = companyId
and company_to_person = '1'
and success = '1';
IF v_count > 0 THEN
insert into t_person_company
values
(company_id = companyId,
person_id = personId,
company_to_person = '1',
success = '1',
msg,
sysdate,
resume_name = resume_name,
null);
ELSE
update t_person_company
set message = msg, company_to_person = '1'
where person_id = personId
and company_id = companyId
and resume_name = resume_name
and success = '1');
END IF;
END;
注意sql语句中的空格