問題タブ [execute-immediate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - sqlplus で Oracle 動的 SQL をデバッグするにはどうすればよいですか?
EXECUTE IMMEDIATE
クエリの実行に使用する PL/SQL ステートメントがあります。ただし、実行中のクエリのテキストを取得する方法すらわかりません。dbms_output
クエリが 255 文字を超えているため使用できません。に渡された文字列を sqlplus にエコーさせる方法はありますEXECUTE IMMEDIATE
か?
oracle - Oracle EXECUTE IMMEDIATEの変更により、クエリの計画が説明されます
EXECUTEIMMEDIATEを使用して呼び出しているストアドプロシージャがあります。私が直面している問題は、プロシージャを直接呼び出す場合と、EXECUTEIMMEDIATEを使用してプロシージャを呼び出す場合とでExplain計画が異なることです。これにより、実行時間が5倍になります。プラン間の主な違いは、すぐに実行を使用すると、オプティマイザーがサブクエリのネストを解除しないことです(NOT EXISTS条件を使用しています)。ここではほとんどのクエリでルールベースのオプティマイザーを使用していますが、これにはインデックスを使用するためのヒントがあり、CBOが使用されています(ただし、テーブルの統計は収集されません)。Oracle9iEnterpriseEditionリリース9.2.0.4.0-64ビット本番環境を実行しています。
例:高速:
遅い:
クエリ:
良い説明計画:
悪い説明計画:
悪い説明プランでは、サブクエリはネストされていません。サブクエリにno_unnestヒントを追加することで、悪い計画を再現することができました。ただし、(すぐに実行を使用してプロシージャを実行する場合)最も悪いヒントを使用して適切な計画を再現することはできませんでした。他のヒントは、最悪のヒントではなく、即時実行を使用するときにオプティマイザーによって考慮されています。
この問題は、executeimmediateを使用してプロシージャを呼び出す場合にのみ発生します。クエリ自体に対して即時実行を使用する場合は、適切な計画が使用されます。
plsql - バインド変数で Execute Immediate ステートメントを使用しているときにテーブル名が無効であるというエラーが発生する
この動的 SQL を実行しようとしています ( を使用EXECUTE IMMEDIATE
)
しかし、これを実行しようとすると、私は遭遇し続けます
P_TABLE_NAME は、入力として受け入れられるテーブル名です。テーブル名とカラム名が正しいことを確認しました。Oracle がエラーをスローする理由がわかりません。
FWIW SQL ステートメントを次のように変更する
それでも同じエラーが発生します。
javascript - すぐに自己実行機能と「これ」
javascriptライブラリを作成したいので、スコープの安全性とすべてを確保するために、すぐに自己実行する関数にするのは良いことだと思いました。
しかし、今はよくわからない「this」キーワードの使用で問題が発生しています。
このようなコードを正しく機能させるにはどうすればよいですか?現在、「画像」は未定義であるとのことです。
どうすればimage
宿泊施設にアクセスできますか?
sql - 即時実行による参照カーソル
ref_cursor で結果を取得したいのですが、それができません。
即時実行を使用して ref_cursor で結果を取得する方法を教えてください
oracle - ストアド プロシージャの DML ステートメントでの EXECUTE IMMEDIATE の使用
私はPL SQLプロシージャを初めて使用します。ストアドプロシージャの実行セクション内にこのコード行があります。
EXECUTE IMMEDIATE
ここで質問があります。ここで DML ステートメントを使用する方法を教えてください。また、どのような場合に使用する必要がありますEXECUTE IMMEDIATE
か?
oracle - 即時実行ステートメントでバインド変数を使用できないのはなぜですか?
用の動的 SQL ステートメントを作成するときに、文字列連結の代わりにバインド変数を使用したいと考えていますexecute immediate
。
a
以下の例では、b
とのバインド変数を使用できますがret
、バインドしようとするf
とORA-06502: PL/SQL: numeric or value error: character to number conversion error
. なぜ、どのように私もバインドできるのf
ですか?
11.2.0.1.0 を使用しています。
mysql - Oracle の「即時実行」と同様に、MySQL でコードを動的に実行する方法はありますか?
Oracleと同様EXECUTE IMMEDIATE
に、MySQL ストアド プロシージャでコードを動的に実行する方法はありますか?
ループの各反復で新しい SQL ステートメントを生成するために、MySQL ストアド プロシージャ内でプリペアド ステートメントを使用したいと考えています。
sql - PL/SQLでの動的SELECT INTO句でのバインド変数の使用
PL/SQLの動的SQL文でバインド変数をどこで使用できるかについて質問があります。
たとえば、これが有効であることはわかっています。
このような選択ステートメントでバインド変数を使用できるかどうか疑問に思っていました
注: 動的文字列として SELECT INTO ステートメントを使用し、INTO 句でバインド変数を使用しました。
私は現在旅行中で、数日間自宅に戻って自分のコンピューターにアクセスできませんが、これは私を少し悩ませています. PL/SQL リファレンスを読んでみましたが、このような選択の例はありません。
ありがとう
plsql - 複数の SQL ステートメントで即時実行
これが私のPL/SQLです。
動的 SQL では、テーブルが作成され、すぐに削除されます。面白いことに、テーブルは正常に作成および削除されましたが、エラーが発生しました。
ユーザーが実際に入力した SQL ステートメント。;
やのような記号は避けられません/
。この問題を解決するにはどうすればよいですか? または、どうすればこのエラーを回避できますか?
ただし、ログを保持する必要があります。ログはただだと思います
ありがとう!