Запрос, который будет использоваться в моей реализации, вызывает ошибку ORA-01722.Ниже приведен запрос.
select ao.account_oid,ao.website_oid,ob.oid,ob.status_code,pi.oid,pi.render_status,ao.invoiced_date
from acct_order ao,order_basket ob, order_line_item oli,order_line_item_xml olix,project_info pi
where ao.oid = ob.account_order_oid and
ob.oid = oli.order_basket_oid and
oli.oid = olix.order_line_item_oid and
pi.oid = olix.xml_value and
olix.xml_key_code='PROJECT_INFO_OID' and
pi.oid = 10000450011; // this is not working
Примечание: «olix.xml_value» также может содержать строковые значения.
Я изменил его, заменив оператор «=» на оператор «in», и попытался:даже тогда это не удалось.Но если значение no для оператора «in» больше 1, то оно работает.
select ao.account_oid,ao.website_oid,ob.oid,ob.status_code,pi.oid,pi.render_status,ao.invoiced_date
from acct_order ao,order_basket ob, order_line_item oli,order_line_item_xml olix,project_info pi
where ao.oid = ob.account_order_oid and
ob.oid = oli.order_basket_oid and
oli.oid = olix.order_line_item_oid and
pi.oid = olix.xml_value and
olix.xml_key_code='PROJECT_INFO_OID' and
pi.oid in (10000450011,10000460011); // This is working. One argument to "in" operator is not working.
Поэтому я взял объяснение SQLDeveloper, но не смог его понять.Может кто-нибудь помочь мне разобраться в проблеме.