Oracle、对象表&嵌套表
假设我有 2 个对象 MY_OBJ、MY_NESTED_TABLE_OBJ
CREATE OR REPLACE TYPE MY_NESTED_TABLE_OBJ IS TABLE OF VARCHAR2(100);
CREATE OR REPLACE TYPE MY_OBJ AS OBJECT (
simple_atribute NUMBER(6),
table_attribute MY_NESTED_TABLE_OBJ,
MEMBER PROCEDURE doStuff(text VARCHAR2)
) NOT FINAL INSTANTIABLE;
MY_OBJ 的表
CREATE TABLE TBL_MY_OBJ OF MY_OBJ
( CONSTRAINT PK_simple_atribute PRIMARY KEY(simple_atribute))
NESTED TABLE table_attribute STORE AS attribute_nst;
如何将 VARCHAR2(100) 插入属于 table_attribute 的嵌套表?罪名是什么??
进行简单的插入,例如: INSERT INTO attribute_nst VALUES ('some text');
给出错误
无法引用嵌套表列的存储表
我想要的是从在PROCEDURE doStuff(text VARCHAR2)中插入,我已经尝试过:
INSERT INTO SELF.attribute_nst VALUES (text);
INSERT INTO attribute_nst VALUES (text);
INSERT INTO table_attribute VALUES (text);
...和其他组合,但什么也没有,所以请帮忙!
Say I have 2 objects MY_OBJ, MY_NESTED_TABLE_OBJ
CREATE OR REPLACE TYPE MY_NESTED_TABLE_OBJ IS TABLE OF VARCHAR2(100);
CREATE OR REPLACE TYPE MY_OBJ AS OBJECT (
simple_atribute NUMBER(6),
table_attribute MY_NESTED_TABLE_OBJ,
MEMBER PROCEDURE doStuff(text VARCHAR2)
) NOT FINAL INSTANTIABLE;
MY_OBJ's table
CREATE TABLE TBL_MY_OBJ OF MY_OBJ
( CONSTRAINT PK_simple_atribute PRIMARY KEY(simple_atribute))
NESTED TABLE table_attribute STORE AS attribute_nst;
How do I insert a VARCHAR2(100) into the nested table belonging to table_attribute?? What is the sintax??
Doing a simple insert like: INSERT INTO attribute_nst VALUES ('some text');
gives the error
cannot reference nested table column's storage table
What i want is to do insert from within PROCEDURE doStuff(text VARCHAR2), i've tried:
INSERT INTO SELF.attribute_nst VALUES (text);
INSERT INTO attribute_nst VALUES (text);
INSERT INTO table_attribute VALUES (text);
...and other combination and no nothing, so please help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个
插入 tbl_my_obj 值 (1, new my_nested_table_obj(text1, text2));
Try this
insert into tbl_my_obj values (1, new my_nested_table_obj(text1, text2));