compare
Posted by TQ on 八月 23rd, 20091 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | CREATE OR REPLACE PROCEDURE del_UserContent(phoneNum VARCHAR2, oresultcode OUT INT) IS memberId NUMBER; --用户id cnt INTEGER; BEGIN oresultcode := 0; --删除临时注册表中的信息 SELECT COUNT(*) INTO cnt FROM member_reg t WHERE t.phone=phoneNum; IF cnt>0 THEN BEGIN DELETE FROM member_reg t WHERE t.phone=phoneNum; END; END IF; SELECT member_id INTO memberId FROM member WHERE phone = phoneNum; --删除所有好友和群组的映射关系 DELETE FROM grp_friend_rel t WHERE t.MEMBER_ID=memberId; --删除所有群组信息 DELETE FROM friend_grp t WHERE t.member_id=memberId; --删除所有好友信息 DELETE FROM friend t WHERE t.member_id = memberId; --删除定制信息中包含的彩像信息 DELETE FROM winks_pkg t WHERE t.member_id = memberId; --删除定制信息 DELETE FROM winks_script t WHERE t.member_id = memberId; --删除我的彩像库中的信息 DELETE FROM member_winks t WHERE t.member_id=memberId; --删除彩像库中本用户diy上传的彩像文件 --delete from winks_file t where t.winks_id in (select w.winks_id from winks w where w.owner_id=memberId); --删除彩像库中本用户diy上传的彩像信息 --delete from winks t where t.owner_id=memberId; UPDATE winks t SET t.owner_type=2 , t.owner_id=10001 WHERE t.owner_id=memberId; --删除订单明细信息 DELETE FROM line_item t WHERE t.contract_id IN (SELECT a.contract_id FROM contract a WHERE a.buy_account_id=memberId); DELETE FROM line_item t WHERE t.contract_id IN (SELECT a.contract_id FROM contract a WHERE a.sell_account_id=memberId); --删除订单信息 DELETE FROM contract t WHERE t.buy_account_id=memberId; DELETE FROM contract t WHERE t.sell_account_id=memberId; --删除注册激活日志信息 DELETE FROM member_scr_log t WHERE t.member_id=memberId; --删除用户客户端配置信息 DELETE FROM member_client t WHERE t.member_id=memberId; --删除推荐用户信息 DELETE FROM member_invited t WHERE t.member_id=memberId; --删除社区元素明细信息 DELETE FROM member_action t WHERE t.invited_member_action_id IN (SELECT a.member_action_id FROM member_action a WHERE a.member_id=memberId); DELETE FROM member_action t WHERE t.member_id=memberId; --更新member表中推荐人信息 UPDATE member t SET t.invited_by = NULL WHERE t.invited_by = memberId; COMMIT; --删除修改密码的信息 DELETE FROM member_at_site t WHERE t.member_id=memberId; --删除用户信息 DELETE FROM member t WHERE t.member_id=memberId; --删除此用户相关消息 DELETE FROM message t WHERE t.party_id=memberId OR t.send_from=memberId; --删除参与者信息 DELETE FROM party t WHERE t.party_id=memberId; IF SQL%NOTFOUND THEN ROLLBACK; DBMS_OUTPUT.put_line('NO SUCH USER'); oresultcode := -21000; RETURN; END IF; COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; oresultcode := SQLCODE; END; / |
———————————————————————
CREATE OR REPLACE PROCEDURE del_UserContent(phoneNum VARCHAR2,
oresultcode OUT INT) IS
memberId NUMBER; --用户id
cnt INTEGER;
BEGIN
oresultcode := 0;
--删除临时注册表中的信息
select count(*) into cnt from member_reg t where t.phone=phoneNum;
IF cnt>0 THEN
BEGIN
delete from member_reg t where t.phone=phoneNum;
END;
END IF;
select member_id
into memberId
from member
WHERE phone = phoneNum;
--删除所有好友和群组的映射关系
delete from grp_friend_rel t where t.MEMBER_ID=memberId;
--删除所有群组信息
delete from friend_grp t where t.member_id=memberId;
--删除所有好友信息
delete from friend t where t.member_id = memberId;
--删除定制信息中包含的彩像信息
delete from winks_pkg t where t.member_id = memberId;
--删除定制信息
delete from winks_script t where t.member_id = memberId;
--删除我的彩像库中的信息
delete from member_winks t where t.member_id=memberId;
--删除彩像库中本用户diy上传的彩像文件
--delete from winks_file t where t.winks_id in (select w.winks_id from winks w where w.owner_id=memberId);
--删除彩像库中本用户diy上传的彩像信息
--delete from winks t where t.owner_id=memberId;
update winks t set t.owner_type=2 , t.owner_id=10001 where t.owner_id=memberId;
--删除订单明细信息
delete from line_item t where t.contract_id in (select a.contract_id from contract a where a.buy_account_id=memberId);
delete from line_item t where t.contract_id in (select a.contract_id from contract a where a.sell_account_id=memberId);
--删除订单信息
delete from contract t where t.buy_account_id=memberId;
delete from contract t where t.sell_account_id=memberId;
--删除注册激活日志信息
delete from member_scr_log t where t.member_id=memberId;
--删除用户客户端配置信息
delete from member_client t where t.member_id=memberId;
--删除推荐用户信息
delete from member_invited t where t.member_id=memberId;
--删除社区元素明细信息
delete from member_action t where t.invited_member_action_id in (select a.member_action_id from member_action a where a.member_id=memberId);
delete from member_action t where t.member_id=memberId;
--更新member表中推荐人信息
update member t set t.invited_by = null
where t.invited_by = memberId;
commit;
--删除修改密码的信息
delete from member_at_site t where t.member_id=memberId;
--删除用户信息
delete from member t where t.member_id=memberId;
--删除此用户相关消息
delete from message t where t.party_id=memberId or t.send_from=memberId;
--删除参与者信息
delete from party t where t.party_id=memberId;
IF SQL%NOTFOUND THEN
ROLLBACK;
dbms_output.put_line('NO SUCH USER');
oresultcode := -21000;
RETURN;
END IF;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
oresultcode := sqlcode;
END;
/

Recent Comments