如题:
sprintf(cStrSQL,"update table set record='X' where start=1");
exec sql execute immediate :cStrSQL;获取 update 影响条数

解决方案 »

  1.   

    你更新的是start=1的信息,那么你再次查询统计start=1的数据不就可以了:
    select count(*) from table where start=1;
      

  2.   

    这个我是知道的,但是如果用insert语句呢!
    并且 由于数据量大,我是在update失败之后,再进行insert操作,百万次重复操作!
      

  3.   

    dbms_output.put_line(SQL%ROWCOUNT || 'rows.');直接获取SQL%ROWCOUNT值即可。
      

  4.   

    请注意 实在 Pro*C里面,而不是 SQLPLUSE
      

  5.   

    已找到答案:五楼接分:sqlca.sqlerrd[2]
      

  6.   

    晕了菜了,你就不会提前定义一个变量rc, 然后
    rc := SQL%ROWCOUNT; 
    实际上这只是一个转换,没什么区别。
      

  7.   

    老兄,如果可以你直接贴段示例代码上来吧!
    我写SQL%ROWCOUNT 直接编译出错,莫非还关系到oracle版本的问题?
      

  8.   


    你用的是多少版本的oracle?
      

  9.   

    看来还真只能用:sqlca.sqlerrd[2]或者伪造一个plsql块获取SQL%ROWCOUNT的值。