存储过程中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;
存储过程中update,然后用sql%判断update是否成功的存储过程的更多相关文章
- MySQL存储过程中实现执行动态SQL语句
		
sql语句中的任何部分都可以作为参数. DROP PROCEDURE if exists insertdata; delimiter //CREATE PROCEDURE insertdata(IN ...
 - [转]oracle存储过程中update不成功的一个原因
		
原文地址:http://lin49940.iteye.com/blog/466626 今天一个同事写oracle 的存储过程遇到了一个问题, 他在里面update 操作不能完成更新的操作, 但是又不会 ...
 - sql 在存储过程中使用事务(转)
		
本来想自己写一下,后来发现这个写的比我理解的要好,所以直接拽过来了,链接地址:https://www.cnblogs.com/RascallySnake/archive/2010/05/17/1737 ...
 - 存储过程中使用事务与try catch
		
一.存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式: 代码 : ) ) ...
 - ADOConnectoin事务和存储过程中的Begin tran commit
		
一直以来我都是在存储过程中使用事务 create proc usp_proc begin begin tran ..... commit end 那么我现在问一个问题,如果在BCB的代码中写这样的代 ...
 - 关于T-SQL重编译那点事,WITH RECOMPILE和OPTION(RECOMPILE)区别仅仅是存储过程级重编译和SQL语句级重编译吗
		
本文出处:http://www.cnblogs.com/wy123/p/6262800.html 在考虑重编译T-SQL(或者存储过程)的时候,有两种方式可以实现强制重编译(前提是忽略导致重编译的 ...
 - WITH RECOMPILE和OPTION(RECOMPILE)区别仅仅是存储过程级重编译和SQL语句级重编译吗
		
在考虑重编译T-SQL(或者存储过程)的时候,有两种方式可以实现强制重编译(前提是忽略导致重编译的其他因素的情况下,比如重建索引,更新统计信息等等), 一是基于WITH RECOMPILE的存储过程级 ...
 - SQL Server--一个存储过程对同一个字段执行两种Update
		
需求: 服务器程序被界面点击"置零"按钮后,所有未完成的任务的状态都置为异常结束. 但分两种情况: 0<=Status<40状态为未完成的任务1,其异常结束状态为50 ...
 - 存储过程中使用事务,sql server 事务,sql事务
		
一.存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式: 代码 ...
 
随机推荐
- Ext tabpanel集成第三方charts(echarts、amcharts等)的问题(报getstyle为null的错误)
			
最近在做ext集成charts的功能,主要是使用tabpanel,将charts集成到tab中,随便切换tab选项就会报错崩溃. 之前演示的时候也发现了该问题,由于在tab项中有加载svg文件的操作, ...
 - Balanced Binary Tree——LeetCode
			
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...
 - CPU使用率计算
			
昨天接到临时任务,需要将一个工作线程执行真正工作的时机推迟到CPU空闲时执行.当时第一感觉认为是将线程优先级设置为空闲级别就行了,以为只有CPU空闲下来才会去跑这个线程,实际上应该不是,毕竟即时是空闲 ...
 - Oracle分页查询与RowNum
			
1. RowNum伪列 Oracle中,RowNum是一个伪列,表示当前记录是查询结果集中的第几条. RowNum在使用上应该注意,不能在where条件中用RowNum大于.大于等于.等于某个大于1的 ...
 - JDK 和JRE的区别
			
JRE:Java Runtime Environment/Java运行时环境目标用户:只需要运行Java程序的用户JRE包含了:Deployment,User Interface Toolkits,I ...
 - 封装实现UIButton左文字右图片
			
#import "TitleButton.h" @implementation TitleButton - (instancetype)initWithFrame:(CGRect) ...
 - js打开新的链接
			
当前页面打开一个链接:window.location="URL" 打开一个新的页面,再打开一个新的链接:window.open(URL,窗口名称,窗口风格) window对象具有如 ...
 - 写自己的WPF样式 - 按钮
			
做一个后台管理小程序,据说WPF的界面比较"炫",于是选择使用WPF来开发.既然用了WPF当然需要做好看点了,于是稍微研究了下WPF的样式,废话不多说下面开始自定义一个按钮样式: ...
 - SecureCRT连接vm中的ubuntu
			
如何使用SecureCRT连接ubuntu 用secureCRT连接Ubuntu是出现远程系统拒绝访问..经过一翻研究才知道Ubuntu上没有ssh.. 一下为连接过程. 1. 首先要明白什么是ssh ...
 - 改变和恢复view的方向
			
self.navigationController.view.transform = CGAffineTransformMakeRotation(M_PI/2); self.navigationCon ...