sql >> データベース >  >> RDS >> Oracle

即時実行ステートメントでバインド変数を使用できないのはなぜですか?

    バインド変数は、コードの一部をバインドするためではなく、変数をバインドするためのものです。 Oracleは、クエリまたはコードのブロックをコンパイルしてキャッシュし、さまざまなパラメータを使用してそれを数回実行できるという考え方です。

    ただし、計算式を置き換えるためにパラメータバインディングを使用しようとします。コードブロックのコンパイルとキャッシュが妨げられるため、サポートされていません。

    さらに、現在の構文では表現できません。 Oracleがtmp := :fを検出した場合 パラメータfを簡単に割り当てたいと考えています 変数tmpに 。関数を評価する必要はありません。

    実用的なソリューションを使用してください。結局のところ、それは機能します。



    1. postgresqlデータベースで大文字と小文字を区別しない照合を使用するにはどうすればよいですか?

    2. django.db.utils.OperationalError:(1045:ユーザー'root' @'localhost'のアクセスが拒否されました(パスワードを使用:NO)

    3. インサートでヒットする一意のキーはどれですか?

    4. PDOでレコードを更新してみます