在Oracle中使用编译错误创建的类型

在Oracle中使用编译错误创建的类型,oracle,plsql,oracle11g,Oracle,Plsql,Oracle11g,我尝试在oracle sqlplus中运行两个脚本 create type virus_Statistic_t as object( vDate date, infection int, dead int, recovered int ) / 上面的脚本运行时没有任何错误 但在那之后当我试着运行这个脚本时 create type countries_t as object( Province_or_State varchar2(50), Coun

我尝试在oracle sqlplus中运行两个脚本

create type virus_Statistic_t as object(
    vDate date,
    infection int,
    dead int,
    recovered int
)
/
上面的脚本运行时没有任何错误

但在那之后当我试着运行这个脚本时

create type countries_t as object(
    Province_or_State varchar2(50),
    Country_or_Region varchar2(100),
    Lat Number(10,0),
    Long Number(10,0),
    virus virus_Statistic_t
)
/
这给了我一些警告

LINE/COL ERROR
-------- -----------------------------------------------------------------
0/0      PL/SQL: Compilation unit analysis terminated
5/1      PLS-00330: invalid use of type name or subtype name

如何避免这种情况?

您的问题与子类型无关

这是一个错误,因为您正在使用oracle保留关键字作为字段名:
长编号(10,0),


将其更改为:
Long_uuu数字(10,0),
一切正常。

或者使用全名
latitude
longitude
,而不是在末尾添加随机字符。