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;
ORACLE 存储过程
最新推荐文章于 2021-07-11 10:02:56 发布