我可以使用 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>
说我有这个对象
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>