首页 > 解决方案 > 在 ecpg 中重新分配的好顺序

问题描述

在 pgc 代码中,我做了一种:

exec sql begin work;
exec sql prepare my_rqt from :rqt_insert  ;   
exec sql execute my_rqt using :foo, :bar ;
if ( sqlca.sqlcode == 0 ){
    exec sql deallocate prepare my_rqt ;
    exec sql commit ;
} else {
    exec sql deallocate prepare my_rqt ;
    exec sql rollback ;
}

插入工作时,一切都很好,但在其他情况下,我在“deallocate”语句中收到错误:

sqlca.sqlstate:26000:第 xx 行的无效语句“my_rqt”

如果我在回滚取消分配,我不会收到此消息。我在任何文档中都找不到任何示例代码。

感谢您在正确的顺序上做这些事情的任何帮助。

标签: postgresqlpostgresql-9.4ecpg

解决方案


一旦出现错误,事务就会中止,并且在回滚之前您无法执行任何操作。


推荐阅读