1

我想为以下两种类型创建一个构造函数。这是代码:

create or replace type toys_t as table of varchar2(40);

create or replace type kid_t as object (
      name varchar2(10), 
      toys toys_t,
      constructor function kid_t (name varchar2) return self as result);

create table kid of kid_t nested table toys store as table_toys;

有没有办法为嵌套表类型创建用户定义的构造函数,toys_t还是只支持使用as object语法创建的类型?

谢谢

鲍勃

4

2 回答 2

2

自动有一个用于集合的构造函数,例如toys_t. 只需使用集合的名称

SQL> insert into kid values( 'Bobby', toys_t( 'Bike', 'Ball', 'Legos' ));

1 row created.

构造toys_t函数可以采用 0、1 或多个参数。

于 2012-06-16T15:50:33.710 回答
2

不,我们不能为像您的toys_t表这样的类型声明用户定义的构造函数。集合类型(嵌套表或可变数组)只有默认构造函数。我们所能做的就是指定一个默认值,当我们实例化一个不带任何参数的集合时应用该默认值。 了解更多。

于 2012-06-16T16:47:19.853 回答