Ошибка ORA-00933: команда SQL неправильно завершена
Попытка ВСТАВИТЬ строку с помощью следующего оператора cfscript:
q.setSQL("
INSERT INTO SALES_OPTION_CHOICE (SALES_CONFIG_OPTION_ID, DESCRIP, ISDEFAULT, CODE, SALES_CHOICE_ID, PRICE)
SELECT #r.SCOINDEX[i]#, sc.DESCRIP, #(data.isDefault == 'Y' ? "'Y'" : "NULL")#, sc.CODE, sc.ID, sc.PRICE
FROM SALES_CHOICE sc
WHERE sc.ID = #y.id[1]#
");
Результаты в
INSERT INTO SALES_OPTION_CHOICE (SALES_CONFIG_OPTION_ID, DESCRIP, ISDEFAULT, CODE, SALES_CHOICE_ID, PRICE)
SELECT 25628, sc.DESCRIP, 'Y', sc.CODE, sc.ID, sc.PRICE
FROM SALES_CHOICE sc
WHERE sc.ID = 222
Другие варианты, которые также не работают с ошибкой ORA-00933:
INSERT INTO SALES_OPTION_CHOICE (SALES_CONFIG_OPTION_ID, DESCRIP, ISDEFAULT, CODE, SALES_CHOICE_ID, PRICE, SEQ)
SELECT 25628, DESCRIP, 'Y', CODE, ID, PRICE, NULL
FROM SALES_CHOICE
WHERE ID = 222
AND NOT ID in (
SELECT SALES_CHOICE_ID
FROM SALES_OPTION_CHOICE l
WHERE SALES_CONFIG_OPTION_ID = 25628
)
INSERT INTO SALES_OPTION_CHOICE (SALES_CONFIG_OPTION_ID, DESCRIP, ISDEFAULT, CODE, SALES_CHOICE_ID, PRICE, SEQ)
SELECT 25628, DESCRIP, 'Y', CODE, ID, PRICE, NULL
FROM SALES_CHOICE
WHERE ID = 222
INSERT INTO SALES_OPTION_CHOICE (SALES_CONFIG_OPTION_ID, DESCRIP, ISDEFAULT, CODE, SALES_CHOICE_ID, PRICE, SEQ)
SELECT 25628, DESCRIP, 'Y', CODE, ID, PRICE, NULL
FROM SALES_CHOICE
WHERE ID = 222
INSERT INTO SALES_OPTION_CHOICE (SALES_CONFIG_OPTION_ID, DESCRIP, ISDEFAULT, CODE, SALES_CHOICE_ID, PRICE)
SELECT 25628 SCOINDEX, DESCRIP, 'Y' ISDEFAULT, CODE, ID, PRICE
FROM SALES_CHOICE
WHERE ID = 222
INSERT INTO SALES_OPTION_CHOICE (SALES_CONFIG_OPTION_ID, DESCRIP, ISDEFAULT, CODE, SALES_CHOICE_ID, PRICE)
SELECT 25628 SCOINDEX, sc.DESCRIP, 'Y' ISDEFAULT, sc.CODE, sc.ID, sc.PRICE
FROM SALES_CHOICE sc
WHERE sc.ID = 222
INSERT INTO SALES_OPTION_CHOICE (SALES_CONFIG_OPTION_ID, DESCRIP, ISDEFAULT, CODE, SALES_CHOICE_ID, PRICE)
SELECT 25628 SCOINDEX, sc.DESCRIP, 'Y' ISDEFAULT, sc.CODE, sc.ID, sc.PRICE
FROM SALES_CHOICE sc
WHERE sc.ID = 222;
Я уверен, что проблема в небольшом недосмотре с моей стороны. Я сражаюсь с этим уже несколько часов. Я был бы признателен за любую информацию.
SQL command not properly ended
для тех, кто (как и я) не является ходячей энциклопедией сообщений об ошибках Oracle. @Teaspoon: задавайте вопросы на этом (или любом другом) форуме, указывая полное сообщение об ошибке. - person Boneist   schedule 24.01.2017AND NOT ID in(..
следует заменить наAND id NOT in(...
. - person atokpas   schedule 24.01.2017