postgresql - 在 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”
如果我在回滚后取消分配,我不会收到此消息。我在任何文档中都找不到任何示例代码。
感谢您在正确的顺序上做这些事情的任何帮助。
解决方案
一旦出现错误,事务就会中止,并且在回滚之前您无法执行任何操作。
推荐阅读
- mysql - Laravel 7 迁移 - 创建了外键,但其约束代码不起作用
- c# - 如何在C#中将\"替换为"
- amazon-web-services - 有没有办法使用加密的 AMI 创建启动配置?
- html - 不同的固定背景图像设置到不同的页面
- ios - 在 iPAD 中添加新版本时是否会替换应用程序数据库
- javascript - jsonpath中数组的总和
- r - 在没有完全匹配的情况下将值连接到现有 data.table(在间隔内匹配)
- asp.net-core - ASPNETCore 过滤器从模型中删除 \u0000
- python - 从头开始制作 ML 模型时卡住了
- ant - 无法访问 Bamboo 构建计划中的环境变量