2016-12-13 3 views
1

Я пытаюсь использовать Excel, чтобы обновить список номеров деталей в моей базе данных:Использование Excel для запуска заявлении много раз

UPDATE 
    stock s 
SET 
    s.STC_AUTO_KEY = 2 
WHERE s.WHS_AUTO_KEY = 2 AND 
EXISTS(
    SELECT 
    p.PNM_AUTO_KEY 
    FROM 
    PARTS_MASTER p 
    WHERE 
    s.PNM_AUTO_KEY=p.PNM_AUTO_KEY AND p.PN='102550'); 
UPDATE 
    stock s 
SET 
    s.STC_AUTO_KEY = 2 
WHERE s.WHS_AUTO_KEY = 2 AND EXISTS(
    SELECT 
    p.PNM_AUTO_KEY 
    FROM 
    PARTS_MASTER p 
    WHERE 
    s.PNM_AUTO_KEY=p.PNM_AUTO_KEY AND p.PN='204-060-444-003'); 

Операторы работают без запятой, но когда я пытаюсь запустить более одного сразу и использовать точку с запятой, я получаю ошибку:

SQL Error [911] [22019]: ORA-00911: invalid character

java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

так ... похоже, я не знаю, как запустить запустить более одного базового заявления сразу.

Я использую DBeaver для взаимодействия с базой данных Oracle.

Спасибо, ребята, извините, если это не проблема.

+0

Я добавил тег DBeaver, поскольку это, скорее всего, вопрос прикладного приложения, скорее чем Excel или Oracle. – mathguy

ответ

0

Попробуйте добавить пустую строку между каждым оператором обновления, если это возможно. Вы можете сделать это легко с помощью текстового редактора, который поддерживает регулярные выражения, просто замените '; \ n' на '; \ n \ n'

+0

выглядит как добавленное пространство, которое не разрешило проблему. – StephenP

+0

Могут быть некоторые специальные символы, которые копируются из Excel. Попробуйте ввести один из запросов вручную в свой редактор и посмотреть, работает ли он. – odinsride

Смежные вопросы