公司企业网站程序下载,wordpress整合dplayer插件,网站竞价词怎么做,品牌推广包括哪些方面本文内容来自YashanDB官网#xff0c;原文内容请见 https://www.yashandb.com/newsinfo/7802940.html?templateId1718516 【问题分类】功能使用
【关键字】pipelined
【问题描述】
Oracle PL/SQL中包含pipelined函数的对象迁移到YashanDB会出现不兼容现象。
【问题原因分…本文内容来自YashanDB官网原文内容请见 https://www.yashandb.com/newsinfo/7802940.html?templateId1718516 【问题分类】功能使用
【关键字】pipelined
【问题描述】
Oracle PL/SQL中包含pipelined函数的对象迁移到YashanDB会出现不兼容现象。
【问题原因分析】
Pipelined函数是一种特殊的表函数以流方式返回结果这样可以边处理数据边返回结果提高性能。嵌套表是一组同类型的元素的集合适用于存储分组结果或批量处理数据时可以在 PL/SQL 中遍历和操作这些数据。YashanDB 不支持pipelined函数若遇到pipelined函数可以使用嵌套表来改写。
【解决/规避方法】
--Oracle 示例函数CREATE OR REPLACE TYPE T_RET_TABLE IS TABLE OF VARCHAR2 (4000)/CREATE OR REPLACE FUNCTION ROW_SPLIT (var_str in string, var_split In String)return t_ret_tablePIPELINED asvar_tmp clob;var_element clob;n_length Number : length(var_split);beginvar_tmp : var_str;while instr(var_tmp, var_split) 0 loopvar_element : substr(var_tmp, 1, instr(var_tmp, var_split) - 1);var_tmp : substr(var_tmp,instr(var_tmp, var_split) n_length,length(var_tmp));pipe row(var_element);end loop;pipe row(var_tmp);return;end row_split;/--YashanDB 改写参考CREATE OR REPLACE TYPE T_RET_TABLE IS TABLE OF VARCHAR2 (4000)/CREATE OR REPLACE FUNCTION ROW_SPLIT (var_str in varchar, var_split In varchar)return t_ret_table ISvar_trt t_ret_table;var_tmp varchar2(8000);var_element varchar2(8000);n_length Number : length(var_split);beginvar_trt : t_ret_table();var_tmp : var_str;while instr(var_tmp, var_split) 0 loopvar_element : substr(var_tmp, 1, instr(var_tmp, var_split) - 1);var_tmp : substr(var_tmp,instr(var_tmp, var_split) n_length,length(var_tmp));var_trt.extend(1);var_trt(var_trt.COUNT) : var_element;end loop;var_trt.extend(1);var_trt(var_trt.COUNT) : var_tmp;return var_trt;end row_split;/【影响范围】23.2.10.100及以下版本
【修复版本】23.2.10.100