2015-03-01 2 views
0

имеют следующий запрос на обновление, который дает ошибку ORA-01747: invalid user.table.column, table.column, or column specification, которую я не могу идентифицировать. У меня есть правильный синтаксис, я думаю, но все же он дает ошибку. Вот запрос:ORA-01747: недопустимый user.table.column, table.column или спецификация столбца в Oracle

Update TEMP_WF_WORKFLOW Set Event_ID=(Select 10003 from TEMP_WF_WORKFLOW TWW JOIN TMP_SOAP_MONITORING_IDS TSM ON TSM.SUBSCRIPTION_ID=TWW.SUBSCRIPTION_ID where TSM.order_type='SELF_REGISTRATION'), 
Set Event_ID=(Select 10028 from TEMP_WF_WORKFLOW TWW JOIN TMP_SOAP_MONITORING_IDS TSM ON TSM.SUBSCRIPTION_ID=TWW.SUBSCRIPTION_ID where TSM.order_type='NEW'),  
Set Event_ID=(Select 10078 from TEMP_WF_WORKFLOW TWW JOIN TMP_SOAP_MONITORING_IDS TSM ON TSM.SUBSCRIPTION_ID=TWW.SUBSCRIPTION_ID where TSM.order_type='SELF_REGISTRATION'), 
Set Event_ID=(Select 10101 from TEMP_WF_WORKFLOW TWW JOIN TMP_SOAP_MONITORING_IDS TSM ON TSM.SUBSCRIPTION_ID=TWW.SUBSCRIPTION_ID where TSM.order_type='NEW') 
+1

Вы знаете, мы не знаем структуру вашей базы данных здесь, в интернет-стране. Как мы должны знать, какие таблицы и столбцы неверны? –

+0

Ой, я понимаю, я немного поменяю запрос, и я просто хочу, чтобы синтаксическая ошибка в моем запросе – Andrew

+0

Это не похоже на * синтаксическую ошибку *. –

ответ

3
Update TEMP_WF_WORKFLOW 
    Set Event_ID= case (select TSM.order_type 
         from TEMP_WF_WORKFLOW TWW JOIN TMP_SOAP_MONITORING_IDS TSM 
         ON TSM.SUBSCRIPTION_ID=TWW.SUBSCRIPTION_ID) 
        when 'SELF_REGISTRATION' then 10008 
        when 'NEW' then 10003 
        when 'SELF_REGISTRATION' then 10078 
        when 'NEW' then 10101 
        else Event_ID 
       end 

Это то, что вы пытаетесь сделать! Обратите внимание, что те же самые значения повторяются !!!

Почему жестко заданные целочисленные значения?

+0

Без hardcoding значение, как я могу обновить столбец EVENT_ID со значениями, используя условие? – Andrew

+0

@Rahul, jarlh предполагает, что там должна быть таблица, где значения 'EVENT_ID' соответствуют' ORDER_TYPE' –

+0

Нет слишком много событий с одинаковым типом заказа, и у меня нет отдельной таблицы для этого – Andrew