SQL> CREATE TYPE email_list_arr AS VARRAY(10) OF VARCHAR2(80); 2 /
Type created
SQL> SQL> create table t_type_test 2 (id number, 3 name email_list_arr);
Table created
SQL> SQL> insert into t_type_test 2 values(1,email_list_arr('123','345'));
1 row inserted
SQL> commit;
Commit complete
---是否这个意思SQL> create or replace type type_obc as object( sex varchar2(2),addr varchar2(30)) 2 /类型已创建。SQL> create or replace type per_type as table of type_obc 2 /类型已创建。SQL> create table person_rec(id number,name varchar2(10),qt per_type) 2 nested table qt store as qt_tb 3 /表已创建。SQL> create table person_rec2( id number,name varchar2(10),qt TYPE_OBC) 2 /表已创建。SQL> insert into person_rec2 values(1,'wkc168', TYPE_OBC('男','湖南')) 2 /已创建 1 行。SQL> commit 2 /提交完成。SQL> select * from person_rec2 2 / ID NAME QT(SEX, ADDR) ---------- ---------- -------------------------------------- 1 wkc168 TYPE_OBC('男', '湖南')
--补上SQL> select * from person_rec 2 / ID NAME QT(SEX, ADDR) ---------- ---------- -------------------------------------- 1 scott PER_TYPE(TYPE_OBC('男', '湖南'))
oracle早就是ORDBMS了,CREATE TYPE hyarrayt AS VARRAY(1048576) OF NUMBER; / CREATE TYPE hytype AS OBJECT ( hystr VARCHAR2(32), hynum NUMBER, hyarray HYARRAYT ); / CREATE TABLE hytab ( id NUMBER NOT NULL, val HYTYPE ); /INSERT INTO hytab VALUES(1, HYTYPE(‘iihero’, 100, HYARRAYT(1,2,3,4,5,6)));
你看看相关的文档吧
我谷歌了一下,发现是看不懂的,网上说可以声明一个数组,但是声明之后这个数组就可以使用了吗?
在创建一个表的时候,字段的类型有varchar2,number...那我声明一个字段,可以把它的数据类型声明成我刚刚定义的那个数组吗?
2 /
Type created
SQL>
SQL> create table t_type_test
2 (id number,
3 name email_list_arr);
Table created
SQL>
SQL> insert into t_type_test
2 values(1,email_list_arr('123','345'));
1 row inserted
SQL> commit;
Commit complete
---是否这个意思SQL> create or replace type type_obc as object( sex varchar2(2),addr varchar2(30))
2 /类型已创建。SQL> create or replace type per_type as table of type_obc
2 /类型已创建。SQL> create table person_rec(id number,name varchar2(10),qt per_type)
2 nested table qt store as qt_tb
3 /表已创建。SQL> create table person_rec2( id number,name varchar2(10),qt TYPE_OBC)
2 /表已创建。SQL> insert into person_rec2 values(1,'wkc168', TYPE_OBC('男','湖南'))
2 /已创建 1 行。SQL> commit
2 /提交完成。SQL> select * from person_rec2
2 / ID NAME QT(SEX, ADDR)
---------- ---------- --------------------------------------
1 wkc168 TYPE_OBC('男', '湖南')
--补上SQL> select * from person_rec
2 / ID NAME QT(SEX, ADDR)
---------- ---------- --------------------------------------
1 scott PER_TYPE(TYPE_OBC('男', '湖南'))
/
CREATE TYPE hytype AS OBJECT
(
hystr VARCHAR2(32),
hynum NUMBER,
hyarray HYARRAYT
);
/
CREATE TABLE hytab
(
id NUMBER NOT NULL,
val HYTYPE
);
/INSERT INTO hytab VALUES(1, HYTYPE(‘iihero’, 100, HYARRAYT(1,2,3,4,5,6)));
可是查询的时候 查询的是一个<Collection>,如何把里面的数据读出来?