web-dev-qa-db-fra.com

Toad for Oracle..Comment exécuter plusieurs instructions?

J'ai quelques instructions INSERT 800-1200 générées à partir d'une feuille Excel. Je veux les exécuter dans TOAD - Oracle db.

Si j'appuie F9, il exécute une seule ligne et F5 me donne un problème de syntaxe et ne semble pas fonctionner? Qu'est-ce que j'oublie ici?

26
user1191463

F9 exécute une seule instruction. Par défaut, Toad essaiera d'exécuter l'instruction où que se trouve votre curseur ou traitera tout le texte en surbrillance comme une instruction et essaiera de l'exécuter. UNE ; n'est pas nécessaire dans ce cas.

F5 est "Exécuter en tant que script", ce qui signifie que Toad prendra le texte en surbrillance complet (ou tout dans votre éditeur si rien n'est en surbrillance) contenant plus d'une instruction et l'exécutera comme s'il s'agissait d'un script dans SQL * Plus. Donc, dans ce cas, chaque instruction doit être suivie d'un ; et parfois (dans les cas PL/SQL) se terminait par /.

33
John Doyle

Mettez en surbrillance tout ce que vous souhaitez exécuter et exécutez-le en tant que script. Vous pouvez le faire en cliquant sur l'icône dans la barre de menus qui ressemble à un fichier texte avec un éclair. Cela revient à frapper F5. Donc, si F5 ne fonctionne pas, vous avez probablement une erreur dans votre script.

Avez-vous des points-virgules après chaque instruction?

4
nolt2232

Enveloppez les multiples instructions dans un bloc BEGIN END pour en faire une instruction et ajoutez une barre oblique après END; clause.

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;
/

De cette façon, c'est juste ctrl-a puis ctrl-enter et c'est parti.

4
CSQ
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;

Utilisez comme ceci, puis validez.

3
user3068880

Je préfère l'option Exécuter via SQL * Plus. Il se trouve dans le petit menu déroulant sous le bouton de la barre d'outils "Exécuter en tant que script".

2
Jeffrey Kemp

Vous pouvez soit opter pour f5, il exécutera tous les scripts de l'onglet.

Ou

Vous pouvez créer un fichier sql et y placer toutes les instructions d'insertion, puis donner le chemin du fichier dans sql plus et l'exécuter.

1
Harshit
  1. Sélectionnez toutes les requêtes dont vous avez besoin (insertions, sélections, ...).
  2. Poussez ou F5 ou F9 les deux fonctionne.
  3. Pas nécessaire pour exécuter en tant que script.

1
Dave

Ouvrez plusieurs instances de Toad et exécutez.

1
skj