• 存储过程中update,然后用sql%判断update是否成功的存储过程


    --更新用户状态
    PROCEDURE P_UPDATE_USER_STATUS
    (
    v_SrcID IN NUMERIC,
    v_DstID IN NUMERIC,
    v_DstType IN NUMERIC,
    v_Offline IN NUMERIC
    )
    IS
    BEGIN
    IF v_DstType=1 THEN --群组
    BEGIN
    --获取群组用户
    IF v_Offline=0 THEN
    BEGIN
    UPDATE T_OFFLINE_NUM SET OFFLINE_NUM=OFFLINE_NUM+1 WHERE SRC_ID=v_SrcID AND DST_ID=v_DstID AND DST_TYPE=v_DstType;
    IF sql%rowcount<1 THEN
    INSERT INTO T_OFFLINE_NUM(SRC_ID,DST_ID,DST_TYPE,OFFLINE_NUM) VALUES(v_SrcID,v_DstID,v_DstType,1);
    END IF;
    END;
    ELSE
    BEGIN
    UPDATE T_OFFLINE_NUM SET OFFLINE_NUM=0 WHERE SRC_ID=v_SrcID AND DST_ID=v_DstID AND DST_TYPE=v_DstType;
    IF sql%rowcount<1 THEN
    INSERT INTO T_OFFLINE_NUM(SRC_ID,DST_ID,DST_TYPE,OFFLINE_NUM) VALUES(v_SrcID,v_DstID,v_DstType,0);
    END IF;
    END;
    END IF;
    END;
    ELSE
    BEGIN --好友间消息
    --更新自己状态
    UPDATE T_OFFLINE_NUM SET OFFLINE_NUM=0 WHERE SRC_ID=v_SrcID AND DST_ID=v_DstID AND DST_TYPE=v_DstType;
    IF sql%rowcount<1 THEN
    BEGIN
    INSERT INTO T_OFFLINE_NUM(SRC_ID,DST_ID,DST_TYPE,OFFLINE_NUM) VALUES(v_SrcID,v_DstID,v_DstType,0);
    END;
    END IF;
    --更新目标用户
    IF v_Offline=0 THEN --目标用户离线
    BEGIN
    UPDATE T_OFFLINE_NUM SET OFFLINE_NUM=OFFLINE_NUM+1 WHERE SRC_ID=v_DstID AND DST_ID=v_SrcID AND DST_TYPE=v_DstType;
    IF sql%rowcount<1 THEN
    BEGIN
    INSERT INTO T_OFFLINE_NUM(SRC_ID,DST_ID,DST_TYPE,OFFLINE_NUM) VALUES(v_DstID,v_SrcID,v_DstType,1);
    END;
    END IF;
    END;
    ELSE
    BEGIN
    UPDATE T_OFFLINE_NUM SET OFFLINE_NUM=0 WHERE SRC_ID=v_DstID AND DST_ID=v_SrcID AND DST_TYPE=v_DstType;
    IF sql%rowcount<1 THEN
    BEGIN
    INSERT INTO T_OFFLINE_NUM(SRC_ID,DST_ID,DST_TYPE,OFFLINE_NUM) VALUES(v_DstID,v_SrcID,v_DstType,0);
    END;
    END IF;
    END;
    END IF;
    END;
    END IF;
    COMMIT;
    END;

    上面的每条IF sql%rowcount<1 THEN,都是针对该语句上面的update语句的执行结果

    删除也一样

    --删除专家
    PROCEDURE P_DELETE_NEWS
    (
    v_InfoID IN NUMERIC,
    v_delNum OUT NUMERIC
    )
    IS
    BEGIN
    DELETE FROM T_EXPERT_INFO WHERE EXPERT_ID=v_InfoID;
    v_delNum:=sql%rowcount;
    COMMIT;

    END P_DELETE_NEWS;

  • 相关阅读:
    进度条
    radio checkbox 修改默认样式
    css3实现的switch开关按钮
    CSS常用样式
    js定义对象的多个属性值
    jquey常用代码
    分享一个酷炫动态登录页面html
    博客园添加背景音乐,背景效果!
    几个有益的 CSS 小知识
    html+css-->background-img(背景图的设置)
  • 原文地址:https://www.cnblogs.com/zhaoblog/p/5952515.html
Copyright © 2020-2023  润新知