表またはスナップショットからデータを選択するには、表またはスナップショットが自分のスキーマにあるか、またはその表あるいはスナップショットに対するREADまたはSELECT
権限が必要です。
ビューの実表から行を選択するには、ビューが属するスキーマの所有者に、実表に対するREADまたはSELECT
権限が必要です。また、ビューが自分以外のスキーマにある場合は、そのビューに対するREADまたはSELECT
権限が必要です。
READ ANY TABLEまたはSELECT ANY TABLE
システム権限を使用すると、すべての表、スナップショットまたはビューの実表からデータを選択できます。
OracleをDBMS MAC
モードで使用している場合は、DBMSラベルが問合せ先の各表、ビューまたはスナップショットの作成ラベルより上位にあるか、READUP
システム権限が必要です。
READ権限は、SELECT ... FOR UPDATE操作には使用できません。
AT
SELECT
文の発行先のデータベースを指定します。次のいずれかを使用してデータベースを指定します。
db_nameは、DECLARE
DATABASE
文で事前に宣言したデータベース識別子。
:host_variableは、値が事前に宣言したdb_nameであるホスト変数。
この句を省略した場合、SELECT
文はデフォルトのデータベースに対して発行されます。
select_list
非埋込みSELECT
コマンドと同じですが、リテラルのかわりにホスト変数を使用できます。
SELECT
文が戻すデータを受け取る出力ホスト変数とオプションのインディケータ変数を指定します。これらの変数は、すべてスカラーか、すべて配列である必要があります。ただし、配列は同じサイズでなくてもかまいません。
WHERE
戻される行を、条件がTRUE
の行のみに制限します。conditionには、ホスト変数を使用できますが、インジケータ変数は使用できません。これらのホスト変数は、スカラーと配列のどちらでもかまいません。
その他のキーワードおよびパラメータはすべて、非埋込みSQL SELECT
コマンドと同じです。