0
Python 2.7を使用して置換するためのいくつかの準備済みのSQL文と辞書を、Oracle Database上のリモート実行用のサーバに送信します。Python 2.7でOracleデータベースのクエリの文字列表現を取得する方法
最終的なクエリをログに記録します。これはサーバー上で実行されますが、最終的なクエリの文字列表現を取得する方法が見つかりません。
プリペアドステートメントの例:
delete from my_table where col1=:date and col2=:string and col3=:num
辞書例:私は(どんなSQL、それは私のデータとし、実行することができる)を取得したい何
{'date':datetime.datetime(2016, 3, 25, 0, 0), 'string':'abc', 'num':42}
:
delete from my_table where col1=TO_DATE('25-03-2016 00:00','dd-mm-yyyy hh24:mi') and col2='abc' and col3=42
プリペアドステートメントでOracleに「最終的なSQL」はありません。値は必要に応じてプレーンテキスト形式に置き換えられません。準備された文は、渡したパラメータで実行されます。 – Mat
ありがとうございます。それでもこの種のSQLクエリを生成する方法はありますか?誰かがすでにこのコードを書いていたと思います。 – Rabodaber
なぜこれが欲しいですか?それは実行されるものではないので、現実的であることを引用することについて心配する必要がありますが、それは意味がないようです。ロギングが目標であれば、ステートメントとパラメータを記録するだけで、クエリを正確に再現する唯一の方法です。 – Mat