日期:2014-05-18  浏览次数:21081 次

Oracle语句MERGE INTO返回值问题
请教大家一个问题:
C#中Oracle语句MERGE INTO如何获取返回的执行行数,ExecuteNonQuery只能返回INSERT、UPDATE等的返回行数,MERGE INTO语句无论是否执行成功,都返回 -1,有没有解决过类似问题的同志?


语句:merge into SEQUENCEID using DUAL on (IDTYPE=17) when not matched then insert(ID,IDTYPE) values(12,17)

------解决方案--------------------
没有用过
------解决方案--------------------
是不能获取影响行数的,那个影响行数只有最基本的INSERT、UPDATE、DELETE才能得到,即使你在PL/SQL里面执行,也不会显示影响行数,不知道你为啥需要那个?
------解决方案--------------------
merge into 函数 oracle比较早支持的。SQL Server 2008才开始支持。
因为OracleClient是基于SQL标准。
最好定义存储过程或函数。在存储过程中返回值。
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html