一 oracle存储过程编译
--申明存储过程 IN 入参 OUT出参
create or replace procedure vipInfoTest(inPut IN number,outResult OUT number) as
--定义属性
v_totalCount number ;
begin
--CURSOR v_totalCount IS
--查询赋值
SELECT count(1),count(2) into v_totalCount,outResult from brsalpp.T_VIP_INFO091010;
--IF判断
IF (v_totalCount > inPut)
THEN
UPDATE
T_VIP_INFO091010 t
SET
t.is_valid = 'Y',
t.update_time = sysdate where rownum=1 and t.is_valid='N';
ELSE
insert into brsalpp.T_VIP_INFO091010 (C_SLS_CDE,LAST_PAY_TIME,VIP_BEGIN_TIME,VIP_END_TIME,IS_VALID,CREATE_TIME,CREATE_NAME,UPDATE_TIME,UPDATE_NAME,IS_PAY_VIP)
select a.C_SLS_CDE,a.LAST_PAY_TIME,a.VIP_BEGIN_TIME,a.VIP_END_TIME,'Y',sysdate,a.CREATE_NAME,sysdate,a.UPDATE_NAME,a.IS_PAY_VIP from brsalpp.T_VIP_INFO091010 a where rownum=1;
end if;
--提交事务
commit;
--结束存储过程
end vipInfoTest;
二 PL SQL在sql窗口执行
--定义接收属性
declare
aaa number;
--执行开始
begin
-- Call the procedure 带入入参、出参执行上面定义的存储过程
vipinfotest(9,aaa);
--打印输出 可在plsql输出窗口查看打印输出的结果
dbms_output.put_line(aaa);
end;