【发布时间】:2021-03-15 19:17:29
【问题描述】:
如何收集 Oracle 包中使用的嵌套表的统计信息。那可能吗? 我已经通过 GTT 完成了它,但无法对嵌套表类型对象执行相同的操作。
create or replace TYPE "TO_CNF_PYE_BSE_OBJ" AS OBJECT(
FAP_INR_IDR VARCHAR2(50)
);
create or replace TYPE "TO_CNF_PYE_BSE_TYP" AS TABLE OF TO_CNF_PYE_BSE_OBJ;
内部代码我使用集合从to_cnf_bse_pye 中选择记录作为嵌套表类型:
CURSOR lv_cur (p_in_del_cri_days NUMBER) IS SELECT to_cnf_pye_bse_obj(fap_inr_idr) FROM to_cnf_pye_bse
【问题讨论】:
-
嵌套表是数据库表的对象类型列吗?还是您的意思是 PL/SQL 集合?以及你的包是如何使用它的?
-
请edit 您的问题包含minimal reproducible example,因为我认为您使用的术语不正确。
NESTED TABLE是一个 SQL 构造,其中定义在 SQL 范围内的集合存储(嵌套)在另一个表中。集合是使用 SQL 范围内的CREATE TYPE语句或 PL/SQL 范围内的TYPE语句定义的数据类型,是内存中数据结构的声明。从您之前的评论来看,您似乎在谈论集合而不是嵌套表。 -
做同样的事情。请您说如果我以这种方式使用光标,是否有使用收集统计信息的出路?
-
嵌套表(甚至是集合数据类型)如何与问题相关?您只在游标中使用基本对象数据类型,NOT 集合数据类型。
-
您之前的问题 stackoverflow.com/q/66634096/1509264 的副本已作为 stackoverflow.com/questions/30461235/… 的副本关闭。不要重复问同一个问题;如果您认为第一个问题不应该关闭,请要求重新打开它。