[英]Oracle - using nested table column in where clause
我有一个临时表(table_B),其中的列使用嵌套表数据类型:
CREATE OR REPLACE TYPE nested_column_type AS OBJECT
(
abc_1 VARCHAR2(100),
abc_2 VARCHAR2(100),
col_id VARCHAR2(100),
tbl_id NUMBER
);
CREATE OR REPLACE TYPE nested_column_tab AS TABLE OF nested_column_type;
CREATE TABLE table_B
(col_id NUMBER,
nested_column NESTED_COLUMN_TAB)
NESTED TABLE nested_column STORE AS column_nested);
我想在delete语句的where子句中使用nested_column,如下所示:
DELETE FROM table_A a
WHERE tbl_id = v_tbl_id
AND NOT EXISTS (SELECT col_id
FROM TABLE(SELECT b.nested_column
FROM table_B b
WHERE tbl_id = v_tbl_id)
WHERE col_id = a.col_id);
Table_A是我的目标表。 我的目标是从table_A中删除记录,其中table_B.nested_column.col_id中的table_A.col_id不存在,并且tbl_id = v_tbl_id。
我认为以下内容将使您走上正确的道路:
select t.primary_id, nt.*
from table_b t, table (t.nested_column) nt
如有任何其他澄清,请随时在这里与我联系。
摊晒
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.