Acabei de ter o problema de definir um tipo e testá-lo no TOAD e estava tudo bem. Mas rodando no SQL*PLUS deu um erro.
Exemplo:
CREATE OR REPLACE TYPE MyType AS OBJECT (
Item1 NUMBER,
Item2 NUMBER
);
Por algum motivo, tenho que adicionar uma barra aqui
CREATE OR REPLACE TYPE MyType AS OBJECT (
Item1 NUMBER,
Item2 NUMBER
);
/
Para mim, parece semelhante a uma instrução Create Table, que não requer uma barra. Acho meio confuso. Eu sei como funciona, mas alguém pode explicar por que essa decisão de design foi tomada?
você precisa de um
/
bloco after a PL/SQL no SQL*Plus:Isso é feito para que o SQL*Plus saiba que você terminou sua instrução (que pode incluir intermediário, não finalizador
;
).Os tipos SQL podem incluir código PL/SQL, portanto, os desenvolvedores do SQL*Plus decidiram que você precisa de um
/
em todos os casos após um CREATE TYPE:Nota : você também precisa de um
/
depois de definir um procedimento, um pacote ou um corpo de pacote (pelo mesmo motivo).