Python 2.7 是否可以使用bind变量创建Oracle视图?

Python 2.7 是否可以使用bind变量创建Oracle视图?,python-2.7,cx-oracle,Python 2.7,Cx Oracle,我试图(从两个不同的表)创建一个视图,但我想用一个绑定变量过滤放置在视图中的结果 以下是我所做的: dsn_test = cx_Oracle.makedsn(host='xxxxxx',port='1521',service_name='trtdiag') con_test = cx_Oracle.connect(user='rtdiag', password='xxxxx',dsn=dsn_test) cursor = con_test.cursor() query = ''' CREAT

我试图(从两个不同的表)创建一个视图,但我想用一个绑定变量过滤放置在视图中的结果

以下是我所做的:

dsn_test = cx_Oracle.makedsn(host='xxxxxx',port='1521',service_name='trtdiag')
con_test = cx_Oracle.connect(user='rtdiag', password='xxxxx',dsn=dsn_test)

cursor = con_test.cursor()

query = '''
CREATE OR REPLACE VIEW INFOS_VEHICLE AS
SELECT IPC_PRESENCE.VEHICLE_ID,IPC_PRESENCE.PRESENT_IWLAN,IPC_PRESENCE.PRESENT_2G3G,RT_SVOI.LAST_SVOI,RT_SVOI.ASSIGNED_DEPOT
FROM IPC_PRESENCE,RT_SVOI
WHERE (IPC_PRESENCE.VEHICLE_ID = RT_SVOI.VEHICLE_ID)
AND (IPC_PRESENCE.VEHICLE_ID = :vehicle)'''

create_view = cursor.execute (query,vehicle=8104)
Cx_oracle引发以下错误:

Traceback (most recent call last):
  File "test_view.py", line 15, in <module>
    create_view = cursor.execute (query,vehicle=8104)
cx_Oracle.DatabaseError: ORA-01036: illegal variable name/number
回溯(最近一次呼叫最后一次):
文件“test_view.py”,第15行,在
create_view=cursor.execute(查询,vehicle=8104)
cx_Oracle.DatabaseError:ORA-01036:非法变量名称/编号

我的问题:是否可以用这种方式创建带有绑定变量的视图,或者我应该执行一个过程?

不幸的是,不可能。相反,您将创建不包含最后一个子句的视图,然后在代码中执行以下操作:

cursor.execute("select * from infos_vehicle where vehicle_id = :vehicle",
        vehicle=8104)

不幸的是,这是不可能的。相反,您将创建不包含最后一个子句的视图,然后在代码中执行以下操作:

cursor.execute("select * from infos_vehicle where vehicle_id = :vehicle",
        vehicle=8104)

伟大的在这种情况下,将答案标记为已批准。:-)伟大的在这种情况下,将答案标记为已批准。:-)