我尝试在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
答案 0 :(得分:0)
我从未在 Pro*c 中尝试过,但是请评估备用连接的概念。 您可以使用备用连接插入和提交。
EXEC SQL AT "DB name" "你的语句或在这种情况下" Insert ; EXEC SQL AT "DB name" "你的语句或在这种情况下" Commit;