質問

i want to insert values to oracle Object type by selecting values from other table

And the tables and insert statement looks like this.

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 );
 /
役に立ちましたか?

解決

You've got it nearly right:

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top