PL/SQL Developer: несколько операторов?

У меня есть script, который генерирует текстовый файл, содержащий несколько операторов SQL UPDATE:

UPDATE TableX SET Field1 = 'New value 1' WHERE Field2='1';
UPDATE TableX SET Field1 = 'New value 2' WHERE Field2='2';
UPDATE TableX SET Field1 = 'New value 3' WHERE Field2='3';
etc.

Когда я вставляю вышеуказанный блок текста в SQL-окно в PL/SQL Developer, он сообщает мне, что точка с запятой является недопустимым символом. Когда я удаляю его, он сообщает мне, что мое первое утверждение не было завершено должным образом.

Как выполнять эти инструкции за одно выполнение?

Ответ 1

Я думаю, вы используете тестовое окно. Это может выполнять только один оператор. Окно SQL и окно команд могут запускать несколько операторов.

Если вам нужно запустить это в тестовом окне, вы можете встроить его в блок begin..end, чтобы сделать его блоком операторов PL/SQL.

Ответ 2

Я также столкнулся с этой ошибкой. Вам нужно перейти к tools- > предпочтениям. В окне типов перейдите в окно SQL и выберите "Автовыбор утверждения". Это должно устранить ошибку.

Ответ 3

попробуйте этот путь;

UPDATE TableX SET Field1 = 'New value 1' WHERE Field2='1'
/
UPDATE TableX SET Field1 = 'New value 2' WHERE Field2='2'
/
UPDATE TableX SET Field1 = 'New value 3' WHERE Field2='3'
/

Ответ 4

Привет,

вы можете попробовать это.

Declare 
Begin 
 UPDATE TableX SET Field1 = 'New value 1' WHERE Field2='1';  
 UPDATE TableX SET Field1 = 'New value 2' WHERE Field2='2'; 
 UPDATE TableX SET Field1 = 'New value 3' WHERE Field2='3'; 
End;

в sql-разработчике для выполнения нескольких запросов, необходимых для создания анонимного блока.

Надеюсь, это упростит вашу работу.