如何在Oracle查询的分区中使用变量

时间:2019-04-27 06:11:27

标签: python cx-oracle

我要编写一个Python代码,该代码每天运行一次查询并生成一个CSV文件作为结果。我需要使用像sysdate这样的变量作为日期,并在查询中使用它。

我的Oracle数据库是如此之大,我必须使用分区来提高性能,因此我需要分别对每天的数据进行分区。但我无法将变量放在查询的这一部分,这是我收到以下错误:

cx_Oracle.DatabaseError:ORA-14763:无法将FOR VALUES子句解析为分区号

import pandas as pd
import cx_Oracle
import csv
from datetime import datetime

date_key_var=datetime.today().strftime('%Y%m%d')



connect_serv = cx_Oracle.connect(user='user',password='pass', dsn='')
cur = connect_serv.cursor()
query="select /*+ FULL(A) PARALLEL(6) */DATE_KEY,offer,customer from my_table partition for (:a) ";
cur.execute(query,a=date_key_var)

有什么解决方法可以使我每次都可以在python和分区中为不同的值运行此查询吗?我打算安排代码自动运行。

0 个答案:

没有答案