我在 dotConnect for Oracle 中使用 Oracle MERGE 语句,我知道 MERGE 本身在 P-Sql 和 SQL Developer 中运行时很好,但是使用 dotConnect 和 ExecuteNoQuery 查询显然是成功的(没有抛出异常)但是表没有发生更新或插入。
我可以将查询分解为更新和插入,它们可以正常工作。
有任何想法吗 ?
我在 dotConnect for Oracle 中使用 Oracle MERGE 语句,我知道 MERGE 本身在 P-Sql 和 SQL Developer 中运行时很好,但是使用 dotConnect 和 ExecuteNoQuery 查询显然是成功的(没有抛出异常)但是表没有发生更新或插入。
我可以将查询分解为更新和插入,它们可以正常工作。
有任何想法吗 ?
我们已经在我们的论坛上回复了您:http ://forums.devart.com/viewtopic.php?f=1&t=29549
作为一种解决方法,您可以尝试使用:
1)OCI模式;
或者
2)这段代码:
OracleConnection conn = new OracleConnection("User Id=user;Password=pass;Server=dboracle;SID=sid;Direct=true");
conn.Open();
OracleTransaction t = conn.BeginTransaction();
OracleCommand comm = new OracleCommand(@"MERGE INTO ...");// place here your merge statement
comm.Transaction = t;
comm.Connection = conn;
comm.ExecuteNonQuery();
t.Commit();