PL / SQL SELECT INTO (日本語)

要約:このチュートリアルでは、PL / SQL SELECT INTO文。

PL / SQL SELECT INTO文は、単一行をフェッチする最も簡単で最速の方法です。テーブルから変数へ。以下に、PL / SQL SELECT INTOステートメントの構文を示します。

この構文では、 variable_listの列は、select_listの変数の数(またはレコードのコンポーネントの数)と同じである必要があります。さらに、対応するデータ型に互換性がある必要があります。

WHERE句のほかに、SELECT INNER JOINGROUP BYHAVINGUNION

SELECTステートメントが複数の行を返す場合、OracleはTOO_MANY_ROWS例外。 SELECTステートメントが行を返さない場合、OracleはNO_DATA_FOUND例外を発生させます。

PL / SQL SELECT INTOの例

サンプルデータベースのcustomersテーブルとcontactsテーブルをデモ用に使用してみましょう。

A)PL / SQL SELECT INTO –1つの列の例を選択

次の例では、SELECT INTOステートメントを使用して、テーブル。

この例では:

  • 最初に、データ型がデータ型である変数l_customer_nameを宣言します。 Customers表の名前列にアンカーします。この変数は顧客名を保持します。
  • 次に、SELECT INTOステートメントを使用して名前列から値を選択し、それを変数。
  • 3番目に、dbms_output.put_lineプロシージャを使用して顧客名を表示します。

customersテーブルに顧客ID100の行が1つしかない場合、コードブロックには顧客名が表示されます。

Ifそのような行がなかった場合、コードブロックは未処理のNO_DATA_FOUND例外で失敗します。

B)PL / SQL SELECT INTO –完全な行の例を選択する

次の例では、特定の顧客IDのcustomersテーブルから行全体をフェッチします。

出力は次のとおりです。

この例では:

  • 最初に、customersテーブル。このレコードは、customersテーブルの行全体を保持します。
  • 次に、IDが100の顧客をr_customerレコード。
  • 3番目に、顧客の名前とWebサイトを表示します。

C)PL / SQL SELECT INTO –データを複数の変数に選択する例

次の例では、特定の顧客IDのcustomersテーブルとcontactsテーブルから顧客と連絡先の名前を取得します。

Oracleは次の出力を発行しました。

この例では:

  • 最初に、3つの変数を宣言しますl_customer_namel_contact_first_namel_contact_last_nameは、顧客と連絡先の名前を保持します。
  • 次に、SELECT INTOステートメントを使用して、customersおよびテーブルを対応する変数に変換します
  • l_customer_namel_contact_first_namel_contact_last_name
  • 3番目に、顧客名と連絡先名。

PL / SQL SELECTINTOの一般的なエラー

SELECT句がINTO句の変数の数より大きい場合、Oracleは次のエラーを発行します:

Oracle SELECT句の列と式の数がINTO句の変数の数より少ない場合、次のエラーを発行します。

選択リストの変数と要素の数は同じであるが、対応するデータ型に互換性がないため、Oracleが暗黙的に1つの型からに変換できない場合もう1つ。次のエラーが発生します。

これで、PL / SQL SELECT INTOの使用方法を理解する必要があります。テーブルから変数に単一の行をフェッチするステートメント。

  • このチュートリアルは役に立ちましたか?
  • はいいいえ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です