如何在Python 2.7中获取Oracle数据库查询的字符串表示
我正在向服务器发送一些准备好的SQL语句和变量字典,以便使用Python 2.7进行替换,以便在Oracle数据库上远程执行 我想记录将在服务器上执行的最终查询,但找不到获取最终查询的字符串表示形式的方法 准备好的语句示例:如何在Python 2.7中获取Oracle数据库查询的字符串表示,python,sql,oracle,python-2.7,cx-oracle,Python,Sql,Oracle,Python 2.7,Cx Oracle,我正在向服务器发送一些准备好的SQL语句和变量字典,以便使用Python 2.7进行替换,以便在Oracle数据库上远程执行 我想记录将在服务器上执行的最终查询,但找不到获取最终查询的字符串表示形式的方法 准备好的语句示例: delete from my_table where col1=:date and col2=:string and col3=:num 字典示例: {'date':datetime.datetime(2016, 3, 25, 0, 0), 'string':'abc',
delete from my_table where col1=:date and col2=:string and col3=:num
字典示例:
{'date':datetime.datetime(2016, 3, 25, 0, 0), 'string':'abc', 'num':42}
我想要得到什么(无论是什么SQL,都可以用我的数据执行):
你为什么要这个?因为这不是要执行的,而且你不得不担心引用它以使其更现实,所以它似乎毫无意义。只需记录语句和参数,如果记录是目标,这是准确再现查询的唯一方法Mat 3月28日16:07
感谢Mat的评论。Oracle中没有“最终SQL”和准备好的语句-这些值不会以您想要的纯文本形式替换。准备好的语句将使用您传入的参数执行。谢谢您的回答。还有没有办法生成这种SQL查询?我想已经有人为此编写了代码。你为什么想要这个?因为这不是要执行的,而且你不得不担心引用它以使其更现实,所以它似乎毫无意义。只需记录语句和参数,如果记录是目标,那么这是准确再现查询的唯一方法。也许你是对的。也许我看错方向了。谢谢分享你的想法。
delete from my_table where col1=TO_DATE('25-03-2016 00:00','dd-mm-yyyy hh24:mi') and col2='abc' and col3=42