返回包含集合中字符串的行

时间:2015-10-24 20:17:36

标签: sql oracle collections object-relational-model varray

我希望只返回其VARRAY中包含某个字符串的行。

表定义:

create table studentClasses(
student_id INTEGER,
full_name VARCHAR2(30),
phone_nos varray_num,
classes varray_class,
subjects_registered nestedsubjecttable, 
home_address O_ADDRESS ,
next_of_kin VARCHAR2(30),
nok_address O_ADDRESS 
)nested table subjects_registered store as ext_classes;

我的部分插页

insert into studentClasses values(1, 'John Doe',
                              varray_num('1', '2', '3', '4', '5', '6'),
                              ....

我希望能够在phone_nos VARRAY中返回包含特定号码的所有条目。所以在他们的varray中返回'6'的人。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

尝试

Select student_id ,full_name
From studentClasses t1,
Table(t1.phone_nos) t2
Where Column_Value = 6;

希望这有帮助。

参考:Day 57: PL/SQL - 5 (VArray in Pl/SQL)

N.B.~我没有要检查的环境,但应该可以使用