動的SQLは、PLが提供するプログラミング機能の一つであり、PLプログラムの実行中にSQLを生成・実行することができるため、プログラミングに大きな柔軟性をもたらします。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供しています。
動的SQLの適用シナリオは以下の通りです:
プログラム作成時点では完全なSQL文が決定できない場合。
PLの静的SQLではサポートされない操作、例えばDDLなど。
注意
一般的に静的SQLはより高いセキュリティと効率を提供するため、可能な限り動的SQLは使用しないようにしてください。
OceanBaseデータベースのPL動的SQLは、以下のシナリオでSQLが複雑なデータ型を返すことをサポートしています:
- 動的SQLによる
SELECTステートメントの実行 - 動的SQLによるDMLステートメントの実行
USING句のOUT属性を使用したEXECUTE IMMEDIATEによる代入