バインド変数
バインド変数を使用して、データベースに渡されるデータまたはデータベースから取得されるデータを制御します。
SQLおよびPL/SQL文には、接頭辞としてコロンが付いた識別子で示されるバインド変数を含めることができます。これらのパラメータは、別個に指定された値が実行時に代入される文内の場所、または実行後に値が戻される場所を示します。
Oracle AI Databaseには、次の3種類のバインド変数があります:
INバインド変数OUTバインド変数IN OUTバインド変数
INバインドは、データベースに渡される値です。OUTバインドは、データベースからデータを取得するために使用されます。IN OUTバインドは渡され、文の実行後に異なる値を戻すことができます。
文字列連結やテンプレート・リテラルを使用してSQLまたはPL/SQL文を構成するよりも、バインド変数を使用することをお薦めします。バインド変数を使用すると、パフォーマンスとセキュリティの両面で有益である可能性があります。バインド変数を使用すると、データベースでは、リソースと時間を消費するハード解析操作を実行する必要がありません。かわりに、カーソル・キャッシュにすでに存在するカーソルを再利用できます。
ノート:
バインド変数は、CREATE TABLEなどのDDL文で使用することも、問合せのテキストを代入することもできません。データのみを代入できます。
トピック
- 名前によるバインドと位置によるバインドの使用
バインド変数は、名前による方法と位置による方法の2つの方法で使用されます。これらのオプションは相互に排他的であるため、指定されたSQLコマンドについて一方を選択する必要があります。 - RETURNING INTO句
RETURNING INTO句の使用について説明します。 - バッチ操作
connection.execute()ファンクションをコールすることに加えて、connection.executeMany()を使用してバッチ操作を実行することもできます。