这个错误意味着什么,为什么会出现?

时间:2011-10-07 14:23:04

标签: sql oracle plsql

我有一个创建和声明不同类型的过程。但每次我写'创造类型'或者'声明类型'我收到这个错误:

  

错误第4行,第10栏,结尾第4行,结尾第10行,找到'收件人',期待:(。@或%或..:=默认非空或;

我使用的是Oracle 10,这些是程序的第一行。错误

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();

我的代码出了什么问题?

1 个答案:

答案 0 :(得分:7)

来自Oracle文档Using PL/SQL With Object Types

  

目前,您无法在PL / SQL块,子程序或包中定义对象类型。您可以使用SQL语句CREATE TYPE在SQL * Plus中以交互方式定义它们。