ORACLE 存储过程

CREATE OR REPLACE PROCEDURE MEMBERINFO_PROCEDURE (
    markerId in number,
    memberId in number,
    consume_type in int,
    scoreInfo in number,
    remarkInfo in varchar2,
    session_id in number ,
    v_msg out varchar2  
)   --AppAccountsRegister
AS
V_TOTAL NUMBER(10);
BEGIN
         SELECT COUNT(*) INTO V_TOTAL FROM NM_NETBAR_MEMBER_INFO where marker_id =markerId and member_id =memberId  ; --判断用户基本信息是否存在
         IF V_TOTAL> 0  THEN
             --存在修改积分及签到时间、增加积分记录
            update NM_NETBAR_MEMBER_INFO set score = score+scoreInfo,last_sign_time = sysdate where marker_id = markerId and member_id = memberId;
            insert into NM_NETBAR_MEMBER_SCORE (id,marker_id,member_id,score_time,type,score,remark) values(nm_member_score_sequence.nextval,markerId,memberId,sysdate,consume_type,scoreInfo,remarkInfo); 
          ELSE    
             -- 不存在增加基本信息、增加积分记录
             insert into NM_NETBAR_MEMBER_INFO(ID,MARKER_ID ,MEMBER_ID,score,Client_Id,Last_Sign_Time) values(nm_member_info_sequence.nextval,markerId,memberId,scoreInfo,session_id,sysdate);
             insert into NM_NETBAR_MEMBER_SCORE (id,marker_id,member_id,score_time,type,score,remark) values(nm_member_score_sequence.nextval,markerId,memberId,sysdate,consume_type,scoreInfo,remarkInfo);
          END IF;  
            v_msg:='ok';  
          commit;
         exception
         
          when  others   then 
              
          rollback;
          v_msg:='数据库操作异常';
          
END MEMBERINFO_PROCEDURE;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值