Жаба для Oracle .. Как выполнить несколько операторов? - PullRequest
26 голосов
/ 07 февраля 2012

У меня есть несколько 800-1200 операторов INSERT, сгенерированных из листа Excel. Я хочу запустить их в TOAD - Oracle db.

Если я нажимаю F9 , он запускает только одну строку, а F5 дает мне проблему с синтаксисом и, похоже, не работает? Что мне здесь не хватает?

Ответы [ 8 ]

33 голосов
/ 07 февраля 2012

F9 выполняет только одну инструкцию. По умолчанию Toad будет пытаться выполнить инструкцию, где бы ни находился ваш курсор, или обработать весь выделенный текст как инструкцию и попытаться выполнить ее. ; в этом случае не требуется.

F5 - это «Выполнить как скрипт», что означает, что жаба возьмет либо весь выделенный текст (или все в вашем редакторе, если ничего не выделено), содержащий более одного оператора, и выполнит его, как если бы он был скрипт в SQL * Plus. Таким образом, в этом случае за каждым оператором должен следовать ;, а иногда (в случаях PL / SQL) заканчиваться /.

4 голосов
/ 27 ноября 2013

Оберните несколько операторов в блок BEGIN END, чтобы сделать их одним оператором и добавить косую черту после END; пункт.

BEGIN
  insert into books
  (id, title, author)
  values
  (books_seq.nextval, 'The Bite in the Apple', 'Chrisann Brennan');

  insert into books
  (id, title, author)
  values
  (books_seq.nextval, 'The Restaurant at the End of the Universe', 'Douglas Adams');
END;
/

Таким образом, это просто ctrl-a, затем ctrl-enter и все идет.

4 голосов
/ 07 февраля 2012

Выделите все, что вы хотите запустить и запустить как скрипт.Вы можете сделать это, щелкнув значок в строке меню, который выглядит как текстовый файл с молнией на нем.Это то же самое, что нажать F5.Поэтому, если F5 не работает, возможно, в вашем скрипте есть ошибка.

У вас есть точки с запятой после каждого оператора?

3 голосов
/ 20 августа 2014
begin

insert into fiscal_year values(2001,'01-jan-2001','31-dec-2001');
insert into fiscal_year values(2002,'01-jan-2002','31-dec-2002');
insert into fiscal_year values(2003,'01-jan-2003','31-dec-2003');
insert into fiscal_year values(2004,'01-jan-2004','31-dec-2004');

end;

Используйте вот так, а затем совершите коммит.

2 голосов
/ 07 февраля 2012

Я предпочитаю Выполнить через SQL * Plus . Он находится в маленьком меню со стрелкой вниз под кнопкой панели инструментов «Выполнить как скрипт».

1 голос
/ 25 декабря 2013
  1. Просто завершите все ваши запросы;
  2. Выберите все запросы, которые вам нужны (вставьте, выберите, ...).
  3. Нажмите или F5 или F9 оба работает.

Не обязательно для выполнения в виде скрипта

1 голос
/ 19 августа 2013

Вы можете либо перейти к f5, он выполнит все сценарии на вкладке.

Или

Вы можете создать файл sql и поместить в него все операторы вставки, а затем датьПуть к файлу в sql plus и выполнить.

1 голос
/ 19 августа 2013

Откройте несколько экземпляров Жабы и выполните.

...