专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

Oracle 11G、12C,DM7对比测试 oracle 11g 19c 区别

ins518 2024-10-21 07:52:08 技术文章 9 ℃ 0 评论

table()可以算作一个用户自定义的PL/SQL函数,经常可以看到它与管道函数(pipeline function)搭配使用,具体何为管道函数,请自行查询相关文档。

它的作用就是将函数返回的集合类型(嵌套表nested table或者数组varray)转换成物理表,方便我们查询它。

举个例子O记的执行计划查询,也是使用这个函数,ex:select * from table(dbms_xplan.display())

本文在Oracle11g、Oracle12c及DM7环境下,多种集合类型中使用table()做对比测试,测试用例及结果如下。

1.object类型测试table():

Oracle11g,Oracle12c,DM7均通过测试。

2.record类型测试table(),使用关联数组:

DM7报"无效的数组查询对象",Oracle11g报"循环索引变量 'REC2' 的使用无效",Oracle12c通过测试,正常运行出结果。

3.record类型测试table(),使用嵌套表类型:

DM7正常执行出结果,Oracle11g报"在 SQL 语句中不允许使用本地收集类型",Oracle12c通过测试,正常运行出结果。

4.record类型测试table(),使用数组varray类型:

DM7正常执行出结果,Oracle11g报"在 SQL 语句中不允许使用本地收集类型",Oracle12c通过测试,正常运行出结果。

DM7在各种情况对比Oracle11g、Oracle12c的处理结果让笔者还挺意外,相信后续DM7会更加努力,跟上潮流,在功能性上面找到不足,尽快跟上。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表