Symfoware(R) Server RDBユーザーズガイド 応用プログラム開発編 - FUJITSU - |
目次
索引
![]() ![]() |
ここでは、行識別子の概要と注意事項について説明します。
行識別子(疑似列)は、データベース中の任意の表の行を一意に識別するためのものです。行識別子名は、“ROW_ID”です。行識別子は、単一行SELECT文またはFETCH文により取り出すことができます。取り出した行識別子は、探索条件に指定して任意の行を操作するために使用します。
行識別子を使用することにより、データベース中の単一行を高速に操作することができます。また、あらかじめ検索した集合の任意の行を一意に識別して操作することができます。
例
行識別子を使用して行の更新を行います。
EXEC SQL BEGIN DECLARE SECTION; ROW_ID H_RID; EXEC SQL END DECLARE SECTION; : EXEC SQL SELECT ROW_ID INTO :H_RID FROM 在庫管理.在庫表 WHERE 製品番号 = 351; : EXEC SQL UPDATE 在庫管理.在庫表 SET 倉庫番号 = 3 WHERE ROW_ID = :H_RID; |
行識別子を使用する場合の注意事項を、以下に示します。
独立性水準 |
同一行の操作 |
---|---|
SERIALIZABLE |
同一行の操作を保証します。 |
REPEATABLE READ |
同一行の操作を保証します。 |
READ COMMITTED |
以下のいずれかの条件で取得した行識別子は、再検索で異なる行を識別することがあります。
|
READ UNCOMMITTED |
再検索で異なる行を識別することがあります。 |
事 象 |
原 因 |
---|---|
検索データなし |
該当行が、他のトランザクションにより削除または更新されています。 |
前回の検索結果と値が異なる |
他のトランザクションにより行が更新されています。 他のトランザクションにより行が削除されたあと、別の行が挿入されています。 |
目次
索引
![]() ![]() |