【发布时间】:2014-03-22 12:51:26
【问题描述】:
我是 Oracle DBMS 的新手,想知道如何在 where 子句中使用嵌套表的成员
特别是
我有一个名为 poll_nest 的嵌套表
SQL> desc poll_nest
Name Null? Type
----------------------------------------- -------- ----------------------------
ID VARCHAR2(20)
CID VARCHAR2(20)
创建如下
create or replace type voter_arrive as object(id varchar(20),cid varchar(20));
create or replace type poller as table of voter_arrive;
然后作为 poll_nest 插入到选举表中
SQL> desc election;
Name Null? Type
----------------------------------------- -------- ----------------------------
REGION VARCHAR2(20)
STIME TIMESTAMP(6)
ETIME TIMESTAMP(6)
VOTES POLLER
我需要根据当前输入的 poll_nest 的 cid 属性的值采取一些措施(例如根据 cid 递增一个值)
所以我使用了after trigger,我这样做了:
select distinct t.cid into voted from election e,table(e.votes) t where t.cid=:new.votes.cid;
但我得到一个编译错误。
我也看到了this 的回答和这个:
Oracle Nested Table predicate in where clause
但无法理解它们是如何工作的..
有人可以帮我了解语法吗?
【问题讨论】:
标签: sql oracle oracle10g nested-table