oracle - pl-sql 中的表转换与转换多重集

标签 oracle plsql casting multiset

Table-CASTCAST-Multiset 有什么用?

Table-Cast 示例

<小时/>
SELECT count(1)
INTO   v_Temp
FROM   TABLE(CAST(Pi_Save_Data_List AS Property_data_list))
WHERE  Column_Value LIKE '%Contact';

Cast-Multiset 示例

<小时/>
SELECT e.last_name,
   CAST(MULTISET(SELECT p.project_name
   FROM projects p 
   WHERE p.employee_id = e.employee_id
   ORDER BY p.project_name)
   AS project_table_typ)
FROM emps_short e;

性能提升或对代码的影响是什么?

最佳答案

TABLE() 函数将嵌套表类型转换为关系结果集。这允许我们查询之前在 SQL 中填充的集合。

CAST(MULTISET()) 函数调用将关系结果集转换为集合类型。这主要在插入到列定义为嵌套表的表中时使用。

很少有网站在其永久数据结构中采用对象关系功能,因此第二次使用非常罕见。但是能够在嵌入式 SQL 语句中使用集合是一项非常酷的技术,并且在 PL/SQL 中广泛使用。

关于oracle - pl-sql 中的表转换与转换多重集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23755660/

相关文章:

java - 从数据库而不是 xml 触发quartz作业

scala - asInstanceOf[T] 和 (o : T) in Scala?

sql - 在 PLSQL 过程中的 IN 子句中使用表类型

oracle - 在此PL/SQL语句中我在做什么错?

oracle - Oracle PL/SQL 数组的索引是从 0 还是从 1?

c++ - C 中的指针和继承 - 转换问题?

.net - 类型转换问题,我无法使用类型成员

sql - 使用来自 SQL Server 的输出参数调用 Oracle 存储过程

java - 使用 JDBC 以用户定义的记录作为其 IN 参数调用 PL/SQL 过程

oracle - where子句中的日期格式-Oracle