2011-12-06 39 views
8

Tengo un archivo SQL con algunos comandos.
¿Cuál es la forma correcta de finalizar líneas en el script?
¿Es barra [/] punto y coma [;] ambas?
¿Hay alguna diferencia entre los sqls regulares y el código de procedimiento almacenado?
Graciasoracle SQL plus cómo finalizar el comando en el archivo SQL?

+0

Aquí hay un hilo con intención similar y buenas explicaciones: http://stackoverflow.com/questions/1079949/sql-the-semicolon-or-the-slash – Michael

Respuesta

23

Para las sentencias SQL normales, ya sea un / en una línea por sí mismo, o un ; al final del comando, funcionará bien.

Para los estados que incluyen código PL/SQL, tales como CREATE FUNCTION, CREATE PROCEDURE, CREATE PACKAGE, CREATE TYPE, o bloques anónimos (DECLARE/BEGIN/END), un ; no se ejecute el comando. Dado que PL/SQL usa punto y coma como terminadores de línea, su uso como un terminador de comando debe ser suprimido en estas declaraciones. Entonces, en estos casos, debe usar / para ejecutar el comando.

En mi experiencia, las personas prefieren usar el punto y coma cuando sea posible y usar la barra solo cuando sea necesario.

Tenga en cuenta que para los comandos del cliente SQLPlus, como SET o EXECUTE, no es necesario ningún terminador de comando, aunque las personas a menudo terminan con un punto y coma por costumbre.

+2

1, buena respuesta. Creo que la gente prefiere usar el punto y coma cuando sea posible, es más natural terminar el comando con un punto y coma y presionar return, en lugar de presionar return, escribir una barra inclinada y presionar return nuevamente. La barra inclinada debe ser el único carácter en la línea cuando se utiliza para ejecutar el búfer de comando. – DCookie

2

; es la forma en que debe poner fin a sus comandos SQL, lo mismo que los procedimientos PLSQL:

select * from dual;

select sysdate from dual;

select table_name from user tables;

exec dbms_output.putline('Hello');

1

Por lo general, podemos utilizar ";" para poner fin a la instrucción SQL,
pero para crear functions, triggers, procedures usted tiene que utilizar "/" después de ";" para poner fin instrucción SQL.
"/" puede no ser necesario cuando utiliza alguna herramienta de desarrollo como, desarrollador de Oracle Oracle, sapo, etc., pero debe ser obligatorio cuando ejecuta su consulta directamente en la máquina de Linux.

Cuestiones relacionadas