サーバー側に次のコードがあります。
let query = `
BEGIN TRANSACTION FOO_TRAN
EXEC sp1_update ...,
EXEC sp2_insert ...,
EXEC sp3_update ...,
EXEC sp4_delete ...,
...
COMMIT TRANSACTION FOO_TRAN
SELECT 1 as [@@@];
`;
mssql.query(query, params, {
success: function (res) {
if (res && res.length === 1 && res[0]['@@@'] == 1) {
response.status(200).send({id: request.body.id});
}
}, error: (err)=>response.status(500).send(err)
});
その後、クライアントは提供された を使用して、変更されたコンテンツをすぐに要求しますid
。
問題: 古いデータが 2 ~ 3 秒間返されます。後続の SELECT で指定しようとしましREAD UNCOMMITED
たが、役に立ちませんでした。古い行と新しい行が混在していました。