从表中选择值并创建oracle对象

时间:2013-02-07 08:44:46

标签: oracle user-defined-types

我想通过从其他表

中选择值来将值插入到oracle对象类型中

表和insert语句看起来像这样。

CREATE TYPE Test_obj AS OBJECT (
  attr1           VARCHAR2(20),
  attr2 VARCHAR2(20),
  attr3 VARCHAR2(25)  );
/

CREATE TABLE resultrow_obj (
  resultrow         Test_obj ,
  RESULTTABLEID    NUMBER(20,0),
  ROWNUMBER NUMBER(20,0) );
  /

  INSERT INTO resultrow_obj VALUES (
  Test_obj (select col1,col2,col3 from Table2 where rownum<=1), 
 1,123 );
 /

1 个答案:

答案 0 :(得分:1)

你几乎是对的:

SQL> INSERT INTO resultrow_obj
  2  VALUES((SELECT Test_obj('A', 'B', 'C') 
  3            FROM dual WHERE rownum <= 1), 
  4         1, 123);

1 row inserted