网站建设客户确认单,开发公司工程结算审核工作流程及工作要点,济南专业网站制作公司,手机网站建设域名空间功能介绍
用户在使用LightDB数据库Oracle兼容模式的过程中发现table函数不支持column_value列#xff0c;导致部分在Oracle数据库可以运行的SQL在LightDB上报错。所以#xff0c;在LightDB23.4版本上table函数支持了column_value列。 使用约束#xff1a;
需要是Oracle兼容…功能介绍
用户在使用LightDB数据库Oracle兼容模式的过程中发现table函数不支持column_value列导致部分在Oracle数据库可以运行的SQL在LightDB上报错。所以在LightDB23.4版本上table函数支持了column_value列。 使用约束
需要是Oracle兼容模式table函数需要在from子句中
使用示例
不在from子句中列名为table_func
lightdboracle_test# create type kk as table of int;
CREATE TYPE
lightdboracle_test#
lightdboracle_test# select table(kk(1,2,3));table_func
------------123
(3 rows)lightdboracle_test# 在from子句中输出的列名为column_value
lightdboracle_test# select * from table(kk(1,2,3));column_value
--------------123
(3 rows)lightdboracle_test# table函数返回多列数据会保持原来的列名
lightdboracle_test# create table t1(a int, b int);
CREATE TABLE
lightdboracle_test# insert into t1 (values (1,1), (2,2), (3,3));
INSERT 0 3
lightdboracle_test#
lightdboracle_test#
lightdboracle_test# create or replace package pkg
lightdboracle_test-# as
lightdboracle_test$# type nt is table of t1%rowtype;
lightdboracle_test$# res nt;
lightdboracle_test$# function myfunc() return nt;
lightdboracle_test$# end;
lightdboracle_test$# /
CREATE PACKAGE
lightdboracle_test#
lightdboracle_test# create or replace package body pkg
lightdboracle_test-# as
lightdboracle_test$# function myfunc() return nt
lightdboracle_test$# is
lightdboracle_test$# begin
lightdboracle_test$# lightdboracle_test$# res(1) : ROW(1,1);
lightdboracle_test$# lightdboracle_test$# res(2) : ROW(2,2);
lightdboracle_test$# lightdboracle_test$# res(3) : ROW(3,3);
lightdboracle_test$# lightdboracle_test$# return res;
lightdboracle_test$# end;
lightdboracle_test$# end;
lightdboracle_test$# /
CREATE PACKAGE BODY
lightdboracle_test#
lightdboracle_test# select * from table(pkg.myfunc());a | b
------1 | 12 | 23 | 3
(3 rows)lightdboracle_test#