2011-10-07 1 views
2

J'ai une procédure qui crée et déclare différents types. Mais chaque fois que je vous écris « créer un type » ou « déclarer type » Je reçois cette erreur:Que signifie cette erreur et pourquoi apparaît-elle?

ERROR line 4, col 10, ending_line 4, ending_col 18, Found 'recipient', Expecting: ( . @ or % or .. := DEFAULT NOT NULL or ;

J'utilise Oracle 10 et ce sont les premières lignes de la procédure. L'erreur

CREATE OR REPLACE PROCEDURE ACTIVITE_PROD.NOTIF_NEW_HOLIDAY(v_USER_ID INTEGER,  v_DURATION NUMBER, v_WEEK INTEGER, v_YEAR INTEGER) IS 

-- this line causes the error 
create type recipient as object (firstname varchar2, lastname varchar2, email varchar2); 

-- this line also causes an error if modified and set first 
declare 
    type recipients_list is table of recipient; 

    admins recipients_list := recipients_list(); 

Quel est le problème avec mon code?

Répondre

7

De la documentation Oracle Using PL/SQL With Object Types

Currently, you cannot define object types in a PL/SQL block, subprogram, or package. You can define them interactively in SQL*Plus using the SQL statement CREATE TYPE.