Eu apenas tive o problema de definir um tipo e testá-lo no TOAD e tudo estava bem. Mas rodando sob o SQL * PLUS, ocorreu um erro.
Exemplo:
CREATE OR REPLACE TYPE MyType AS OBJECT (
Item1 NUMBER,
Item2 NUMBER
);
Por alguma razão eu tenho que adicionar uma barra aqui
CREATE OR REPLACE TYPE MyType AS OBJECT (
Item1 NUMBER,
Item2 NUMBER
);
/
Para mim, é semelhante a uma instrução Create Table, que não requer uma barra. Eu acho isso bastante confuso. Sei como funciona, mas alguém pode explicar por que essa decisão de design foi tomada?
Respostas:
você precisa de um
/
bloco PL / SQL no SQL * Plus:Isso significa que o SQL * Plus sabe que você terminou sua declaração (que pode incluir intermediário, sem finalização
;
).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 do pacote (pelo mesmo motivo).fonte