Respostas:
Não há diferença para uma única instrução SQL. O caractere '/' em sua própria linha informa ao SQL * Plus para executar o comando no buffer. Você pode usar o ponto-e-vírgula no final da maioria das instruções SQL como atalho para o '/'. Se você deseja executar um bloco PL / SQL ou executar algumas instruções SQL como CREATE TYPE
, no entanto, você precisa usar o '/'
SQL> begin
2 null;
3 end;
4 /
PL/SQL procedure successfully completed.
SQL> create type foo as object (
2 col1 number,
3 col2 number );
4 /
Type created.
Ferramentas diferentes podem ter convenções um pouco diferentes sobre como você executa várias instruções SQL e PL / SQL em um script. Lembre-se de que isso é específico do SQL * Plus.
E além do que Justin mencionou - porque /
executa o que estiver no buffer, ele também pode ser usado após a edição do comando anterior, ou mesmo apenas para executar o mesmo comando várias vezes.
Se você chamar o ed
sqlplus, ele tentará gravar um arquivo temporário AFIEDT.BUF
no diretório atual e, em seguida, abrirá um editor (vi, bloco de notas etc.) para editar o último comando enviado. Quando você sai do editor, usa /
para enviar o buffer modificado.
GO
? (Basicamente, um separador de lote.)