SELECT
INTO
文は、(SQLのSELECT
文と同様に)1つ以上のデータベース表から値を取り出し、それらの値を変数に格納します(SQLのSELECT
文ではこの処理は実行されません)。
注意:
SELECT
INTO
文をBULK
COLLECT
句とともに使用すると、エイリアシングに対して脆弱になり、予期しない結果が発生する場合があります。詳細は、「SELECT BULK COLLECT INTO文およびエイリアシング」を参照してください。
関連項目:
SQLのSELECT
文の構文は、『Oracle Database SQL言語リファレンス』を参照してください。
ここでのトピック
構文
select_into_statement ::=
参照:
table_reference ::=
セマンティクス
select_into_statement
DISTINCTまたはUNIQUE
選択された重複行の各セットのコピーが1つのみ戻されるようにできます。重複行は、各select_item
に対して一致する値を含むものです。これらの2つのキーワードは同義です。
DISTINCTおよびUNIQUEの制限
すべてのselect_item
式の総バイト数は、データ・ブロックからオーバーヘッドを除いたサイズに制限されます。このサイズは、初期化パラメータDB_BLOCK_SIZE
で指定されます。
select_item
式に、LOB列を含めることはできません。
ALL
(デフォルト)すべての重複行のコピーを含め、選択された行がすべて戻されるようにできます。
*
すべての列を選択します。
subquery
SQLのSELECT
文(PL/SQLのSELECT
INTO
文ではない)。
alias
参照される列、表またはビューの別名(通常は短縮名)です。
rest_of_statement
SQLのSELECT
文のFROM
句内のtable_reference
に続けることができる任意の構造体(『Oracle Database SQL言語リファレンス』を参照)。
into_clause
この句を使用すると、SELECT
INTO
文は、単一の行から1つ以上の列を取り出し、それらの値を1つ以上のスカラー変数または1つのレコード変数に格納します。詳細は、into_clause ::=を参照してください。
bulk_collect_into_clause
この句を使用すると、SELECT
INTO
文は結果セット全体を取り出し、それを1つ以上のコレクション変数に格納します。詳細は、bulk_collect_into_clause ::=を参照してください。
select_item
SELECT
INTO
文によって行が戻されない場合、PL/SQLによって事前定義の例外NO_DATA_FOUND
が呼び出されます。この例外を回避するには、条件に一致する行がない場合でも、単一の値を戻す集計ファンクションCOUNT(*)
の結果を選択します。
numeric_literal
数値データ型のリテラル。
schema
表またはビューが含まれているスキーマの名前。デフォルト: 自分のスキーマ。
db_table_or_view
データベースの表またはビューの名前。
column
db_table_or_view
の列の名前。
*
db_table_or_view
のすべての列を選択します。
sequence
順序の名前。
CURRVAL
sequence
の現在の値。
NEXTVAL
sequence
の次の値。
alias
参照される列、表またはビューの別名(通常は短縮名)です。
table_reference
SELECT
INTO
文を実行する際にアクセス可能な、SELECT
権限を持つ表またはビューへの参照。
schema
表またはビューが含まれているスキーマの名前。デフォルト: 自分のスキーマ。
table
データベース表の名前。
view
データベース・ビューの名前。
PARTITION partitionまたはSUBPARTITION subpartition
『Oracle Database SQL言語リファレンス』を参照してください。
@dblink
データベース・リンク(『Oracle Database SQL言語リファレンス』を参照)。@とdblink
の間に空白は入れないでください。
例
関連トピック
この章:
他の章:
関連項目:
SQLのSELECT
文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。