可以在 PL/SQL 内部创建 Oracle 数据库对象类型吗?

2021-12-24 00:00:00 oracle plsql

是否可以在 Oracle 数据库 10g 的包内创建对象类型?类似的东西:

Is it possible to create an object type inside of a package in Oracle Database 10g? Something like:

create or replace package my_package as 
    type my_type as object (
        id number(15) 
     ); 
end;

给出:

错误(3,9):PLS-00540:此上下文中不支持对象.

Error(3,9): PLS-00540: object not supported in this context.

我最终希望能够做的是使用多态性,但也允许对象访问表并使用 PL/SQL,这在包之外定义的类型中是不允许的.

What I'm ultimately looking to be able to do is use polymorphism but also allow the objects to access tables and use PL/SQL, which isn't allowed in types defined outside of packages.

谢谢,杰夫

推荐答案

来自Oracle 10g 文档:

目前,您无法定义对象PL/SQL 块、子程序、或包.

Currently, you cannot define object types in a PL/SQL block, subprogram, or package.

所以,不幸的是,没有.

So, unfortunately, no.

相关文章