プライマリ・コンテンツに移動
Oracle Database PL/SQL言語リファレンス
12c リリース1 (12.1)
B71296-06
目次へ移動
目次
索引へ移動
索引

前
次

SELECT INTO文

SELECT INTO文は、(SQLのSELECT文と同様に)1つ以上のデータベース表から値を取り出し、それらの値を変数に格納します(SQLのSELECT文ではこの処理は実行されません)。

注意:

SELECT INTO文をBULK COLLECT句とともに使用すると、エイリアシングに対して脆弱になり、予期しない結果が発生する場合があります。詳細は、「SELECT BULK COLLECT INTO文およびエイリアシング」を参照してください。

関連項目:

SQLのSELECT文の構文は、『Oracle Database SQL言語リファレンス』を参照してください。

ここでのトピック

構文

select_item ::=

function_call ::=を参照してください。

セマンティクス

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の間に空白は入れないでください。

  • 例2-25SELECT INTO文を使用した変数への値の代入

  • 例5-48SELECT INTOを使用したレコード変数への値の代入

  • 例6-37「ROLLBACK文」

  • 例6-38SAVEPOINT文およびROLLBACK文

  • 例6-43パッケージでの自律型ファンクションの宣言

  • 例7-20SQLインジェクションを回避するための妥当性チェック

  • 例12-162つのネストした表に対するデータベースの2つの列のバルク選択

  • 例12-17レコードのネストした表に対するバルク選択

  • 例12-21ROWNUM、SAMPLEおよびFETCH FIRSTによるバルク選択の制限