Oracle&SQL数据库参数异同

Oracle内置函数SQLCODE和SQLERRM是特别用在OTHERS处理器中,分别用来返回Oracle的错误代码和错误消息
  SQLCODE:数据库操作的返回码,其中0--成功;<0--失败;100--没有检索到数据 ;+1--用户自定义异常
  SQLERRM: 函数返回指定错误代码的错误信息。
  一个Oracle的错误消息最多只能包含512个字节的错误代码。如果没有异常被触发,则SQLCODE返回0,SQLERRM返回“ORA-0000:normal, successful completion”。
  SQL%ROWCOUNT: 返回最相邻的前一个DML语句影响的行数.select:查询的行数;delete:删除的行数;update:修改的行数	 

1,对应SQLSERVER数据库的内置函数
  SQLCODE <=> @@ERROR
  SQLERRM <=> ERROR_MESSAGE()
  SQL%ROWCOUNT<=>@@ROWCOUNT
 
2,游标状态
 MicroSoft SQL SERVER @@fetch_status    
       其值有以下三种,分别表示三种不同含义:【返回类型integer】
        0 FETCH 语句成功
        -1 FETCH 语句失败或此行不在结果集中
        -2 被提取的行不存在
    @@fetch_status值的改变是通过fetch next from实现的“FETCH NEXT FROM Cursor”;
  Oracle 
       Cursor%found 游标有数据
       Cursor%Notfound 游标无数据
3.update对SQL%ROWCOUNT的影响:
  测试特殊情况:更新新旧值相等,仍记为修改了1行
    BEGIN
        UPDATE test
           SET ecczhh = 1
         WHERE ecczhm = '001512072733'
           AND ecczhh = 1;
        IF SQL%rowCOUNT < 1 THEN
            dbms_output.put_line(0);
        ELSE
            dbms_output.put_line(1);
        END IF;
    END;
    OUTPUT : 1


 
 


 
 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值