我可以使用 select 语句来插入具有对象类型的值吗?

Can I use a select statement for inserting values with an object type?

说我有这个对象

create or replace type emp_det as object (
    age number,
    salary number
    )
/

和这个table

create table temp(
    id number,
    emp_obj emp_det
)
/

第三个人口table:员工

| Age | Salary |
| 45  | 75000  |
| 23  | 32000  |
...

我想插入临时 table 类似的东西:

insert into temp
values (1, emp_det( (select age,salary from employees where ROWNUM = 1) ));/

但我收到错误消息“默认构造函数的参数数量不正确”。有没有办法用插入语句来做到这一点?

(我知道我不需要对象,这只是一个简单的例子)

“类似的东西”应该是这样的:

SQL> insert into temp (id, emp_obj)
  2    select 1, emp_det(age, salary)
  3    from employees
  4    where rownum = 1;

1 row created.

SQL> select * from temp;

        ID    EMP_OBJ(AGE, SALARY)
----------    -----------------------------------------
         1    EMP_DET(45, 75000)


SQL>