是否可以在Pro*C中使用PRAGMA AUTONOMOUSE_TRANSACTION



我曾尝试在Pro*C中使用PRAGMA AUTONOMOUS_TRANSACTION,但在编译时遇到以下错误:

PRAGMA AUTONOMOUS_TRANSACTION;
...........1
PCC-S-02201, Encountered the symbol "AUTONOMOUS_TRANSACTION" when expecting one
of the following:
; into, using,

相关章节代码为:

EXEC SQL EXECUTE
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO TABLE_TEST
( FIELD1, FIELD2, FIELD3 )
VALUES
(:sOraFIELD1, :sOraFIELD2, :sOraFIELD3);
COMMIT;
END;
END-EXEC;

我在这里做错了什么?是Pro*C不允许这样做吗?

版本:Pro*C/C++: Release 11.2.0.1.0

我有其他方法可以获得类似的结果吗?我不能简单地执行EXEC SQL COMMIT;,因为那样我会得到Oracle错误2089:在从属会话中不允许COMMIT

我从未在Pro*c中尝试过这一点,但请评估备用连接的概念。您可以使用备用连接进行插入和提交。

EXEC SQL AT";DB名称"你的陈述,或者在这种情况下";插入EXEC SQL AT";DB名称"你的陈述,或者在这种情况下";犯罪

最新更新