Oracle には動的ステートメントがあります。動的ステートメントとは、コンパイル時に不確実な SQL ステートメントを指します。コンパイラは動的ステートメント部分を処理せず、プログラムの実行時にステートメントを動的に作成し、ステートメントの構文を作成するだけです。ステートメントを分析して実行します。構文は「EXECUTE IMMEDIATE 動的 SQL ステートメント文字列 INTO 句 USING 句」です。
このチュートリアルの動作環境: Windows 10 システム、Oracle バージョン 12c、Dell G3 コンピューター。
Oracle には動的ステートメントがありますか?
いわゆる動的 SQL は、SQL を指します。 PL/SQL ブロックのコンパイル時のステートメント。異なるユーザー入力パラメータに基づいて異なる操作を実行するなど、未定義です。コンパイラは動的ステートメント部分を処理せず、プログラムの実行時にステートメントを動的に作成し、ステートメントの構文解析を実行してステートメントを実行するだけです。 ORACLE の動的 SQL は、ローカル動的 SQL コマンドまたは DBMS_SQL パッケージを通じて実行できます。
通常、開発では単純なローカル動的 SQL で問題を解決できますが、以下では他の方法を使用してそれを実現します。ローカル動的 SQL を実行するための構文は次のとおりです。
EXECUTE IMMEDIATE dynamic_sql_string [INTO define_variable_list] [USING bind_argument_list];
ここで、dynamic_sql_string は動的 SQL ステートメントの文字列です。 INTO 句は、SELECT ステートメントで選択されたレコード値を受け入れるために使用されます。 USING 句は、バインドされた入力パラメータ変数を受け入れるために使用されます。
SQL 動的ステートメントは、プログラムまたはストアド プロシージャによって生成される SQL ステートメントであり、このようなステートメントの特徴は、単純に実行できないことです。これは標準ではなく、変更されるコンポーネントが含まれているため、ORACLE は動的 SQL ステートメントを実行するためのモードを提供します。
EXECUTE IMMEDIATE
この文の意味は、最初に構文チェックを実行せずにすぐに実行することです。実行中に論理エラーが発生する可能性がありますが、これはエラー割り込みによって処理されます。
例は次のとおりです。
Oracle ビデオ チュートリアル 」
以上がOracleには動的ステートメントはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。