ROWID
疑似列は、データベース内の各行について、行のアドレスを戻します。Oracle DatabaseのROWID値には、行を検索するために必要な次の情報が含まれています。
オブジェクトのデータ・オブジェクト番号。
行が存在するデータファイルのデータ・ブロック。
データ・ブロック内での行の位置(最初の行は0)。
行が存在するデータファイル(最初のファイルは1)。ファイル番号は表領域に対して相対的です。
ほとんどの場合、ROWID値ではデータベース内の行は一意に識別されます。ただし、同じクラスタに格納されている異なる表の行は、同じROWIDを持つことができます。
ROWID
疑似列の値はROWID
またはUROWID
データ型を持ちます。詳細は、「ROWIDデータ型」および「UROWIDデータ型」を参照してください。
単一の行に最も速くアクセスする方法です。
表の行が格納されている様子を示すことができます。
表の行に対する一意の識別子です。
表の主キーとしてROWID
を使用しないでください。たとえば、インポート・ユーティリティとエクスポート・ユーティリティで行を削除してから再挿入する場合、ROWIDが変わる場合があります。行を削除した場合、Oracleは、後から新しく挿入される行にそのROWIDを再度割り当てる可能性があります。
問合せのSELECT
句とWHERE
句でROWID
疑似列を使用できますが、これらの疑似列の値が実際にデータベースに格納されるわけではありません。ROWID
疑似列の値に対して挿入、更新および削除はできません。
例 次の文は、部門20の従業員のデータを含むすべての行のアドレスを選択します。
SELECT ROWID, last_name FROM employees WHERE department_id = 20;