Я пытался создать представление (из двух разных таблиц), но я хочу отфильтровать результат, помещенный в мое представление, с помощью переменной bind.
Вот что я сделал:
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
Мой вопрос: возможно ли таким образом создать представление с переменной привязки или мне следует выполнить процедуру?