HANA:提交日志表而不是事务表
HANA: Commit to log tables but not transactional tables
我有一个看起来像这样的程序:
CALL CreateSalesOrder(iv_customer => lv_customerId);
CALL LogMessage('Created sales order');
CALL CreateSalesOrderDetail(iv_customer => lv_customerId, iv_product => lv_productId);
CALL LogMessage('Created sales order detail');
无论交易是否成功,我都希望将日志消息写入 table。我需要能够在发生故障时查看日志消息,并且我的日志消息包含有关我正在处理的数据状态的详细信息。提供可用数据有助于解决问题。
有什么方法可以将数据提交给一个 table,同时为我的 table 的其余部分维护安全事务?
找到答案。这个概念称为自主事务,使用与 Oracle 中相同的名称。
BEGIN AUTONOMOUS TRANSACTION
INSERT INTO LogTable () VALUES ();
COMMIT;
RESIGNAL;
END;
此功能自 SPS09 起可用。
我有一个看起来像这样的程序:
CALL CreateSalesOrder(iv_customer => lv_customerId);
CALL LogMessage('Created sales order');
CALL CreateSalesOrderDetail(iv_customer => lv_customerId, iv_product => lv_productId);
CALL LogMessage('Created sales order detail');
无论交易是否成功,我都希望将日志消息写入 table。我需要能够在发生故障时查看日志消息,并且我的日志消息包含有关我正在处理的数据状态的详细信息。提供可用数据有助于解决问题。
有什么方法可以将数据提交给一个 table,同时为我的 table 的其余部分维护安全事务?
找到答案。这个概念称为自主事务,使用与 Oracle 中相同的名称。
BEGIN AUTONOMOUS TRANSACTION
INSERT INTO LogTable () VALUES ();
COMMIT;
RESIGNAL;
END;
此功能自 SPS09 起可用。