我正在尝试使用 DDL 语句,例如从 java 脚本 UDTF 中的表中选择列。我能够在普通 UDTF 中实现如下
create function returntable()
returns table(COL1 varchar(100),COL2 VARCHAR(100),COL3 NUMBER(10,0))
as
$$
select COL1,COL2,COL3 from PUBLIC.MYTABLE
$$;
从表中选择*(returntable());- 现在这会返回一个表格作为输出。
但是因为我需要执行一些功能,例如条件 if、case 语句、变量、动态创建临时表以及各种典型的业务需求,这就是我想编写 javascript UDTF 的原因。我能够完成所有这些功能,但无法在其中编写 final select * from table,以便在经过一些转换后将我的表作为输出返回。
所以,为了简单起见,我正在尝试实现这样的目标
create or replace function RETURN_TABLE()
returns table (COL1 varchar(100),COL2 VARCHAR(100),COL3 NUMBER(10,0))
language javascript
as
$$
{
processRow: function (row, rowWriter, context){
/** SOME TRANSORMATIONS USING VARIABLES, TEMP TABLES, IF COMES HERE **/
rowWriter.writeRow({COL1: ColumnValesfromSelectQuery,COL2: ColumnValesfromSelectQuery,COL3: ColumnValesfromSelectQuery});
//select COL1,COL2,COL3 from PUBLIC.MYTABLE
}
}
$$;
有人可以帮我解决这个问题。