動的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文の実行
EXECUTE IMMEDIATEがUSING句のOUT属性を使用した代入