2012-02-07 19 views
21

Tengo unas 800-1200 declaraciones INSERT generadas a partir de una hoja de Excel. Quiero ejecutar estos en TOAD - Oracle db.Sapo para Oracle ... ¿Cómo ejecutar múltiples declaraciones?

Si presiono F9, se ejecuta una sola línea y F5 me da problema de sintaxis y no parecen funcionar? ¿Que me estoy perdiendo aqui?

+1

¿Cuál es el error? ¿Puedes agregar un pequeño ejemplo de las declaraciones que fallan? –

+0

F5, se bloquea y no hace nada, y debo cancelar la operación después de unos minutos. F9 en una línea con varias declaraciones separadas por ";" da un error al decir que hay un caracter inválido después del primer ";" – user1191463

+1

Ha pasado un tiempo desde que utilicé TOAD, pero si no recuerdo mal, hay algunos casos en los que su analizador no funciona correctamente. Por ejemplo, el mecanismo alternativo de cotización, p. 'q '! ...!' ', y comentarios después de punto y coma. ¿No está seguro de por qué F5 se bloqueará, a menos que abra otra sesión y esté esperando que la sesión actual se comprometa/revierte? De cualquier manera, ayudaría si pudieras publicar un pequeño caso de prueba. –

Respuesta

27

F9 ejecuta una sola instrucción. Por defecto, Toad intentará ejecutar la instrucción donde sea que esté el cursor o tratará todo el texto resaltado como una instrucción e intentará ejecutarlo. A ; no es necesario en este caso.

F5 es "Ejecutar como escritura", que significa que sapo tomará forma de texto (o todo en su editor si no se pone de relieve) que contiene más de una sentencia de la completa resaltados y ejecutarlo como si fuera un script en SQL *Más. Por lo tanto, en este caso, cada instrucción debe ir seguida de un ; y, a veces (en casos PL/SQL) terminó con un /.

+0

¿Sabes por qué F5 da salida como texto sin formato, mientras que F9 da salida como una hoja de cálculo o como una nueva ventana de TOAD para algo así como una declaración de descripción? –

+0

@PeterBecich: eso es porque F5 se está ejecutando en un programa externo; TOAD no interpreta los resultados que son texto sin formato. F9, por otro lado, está siendo ejecutado por TOAD directamente para que pueda formatear los resultados en un buen diseño de cuadrícula. –

4

Resalte todo lo que desea ejecutar y ejecutar como un script. Puede hacerlo haciendo clic en el icono de la barra de menú que se parece a un archivo de texto con un rayo. Eso es lo mismo que golpear F5. Entonces, si F5 no funciona, probablemente tengas un error en tu script.

¿Tiene punto y coma después de cada declaración?

2

Prefiero la opción Ejecutar a través de SQL * Plus. Está en el pequeño menú desplegable debajo del botón de la barra de herramientas "Ejecutar como script".

1

Abre varias instancias de Toad y ejecuta.

1

Puede ir por f5 y ejecutará todas las escrituras en la pestaña.

O

Se puede crear un archivo sql y poner todas las instrucciones de inserción en ella y que dará la ruta del archivo en más de SQL y ejecutar.

4

Ajustar las sentencias múltiples en un bloque BEGIN END para convertirlas en una instrucción y agregar una barra después del END; cláusula.

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 esa manera, es simplemente Ctrl-A continuación, Ctrl-Enter y se va.

1
  1. Simplemente termine todas sus consultas con;
  2. Seleccione todas las consultas que necesite (inserciones, selecciones, ...).
  3. Push o F5 o F9 ambos funcionan.

No necesaria para ejecutar como secuencia de comandos

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

Uso de esta manera y luego confirmar.

Cuestiones relacionadas