table函数
最近更新时间: 2024-06-12 15:06:00
Oracle用法。
create table t_table(f1 varchar2(36),f2 varchar2(36),f3 varchar2(36)); insert into t_table values('tbase','tbase','tbase'); insert into t_table values('Tbase','Tbase','Tbase'); commit; create or replace type ty_row as object ( col1 varchar2(36), col2 varchar2(36), col3 varchar2(36) ); / create or replace type ty_table as table of ty_row; create or replace function f_table return ty_table as v_ty_table ty_table; begin select ty_row(f1,f2,f3) bulk collect into v_ty_table from t_table; return v_ty_table; end; / #调用,使用table返回一个表格 select * from table(f_table());
TDSQL-PG改写。
create table t_table(f1 varchar2(36),f2 varchar2(36),f3 varchar2(36)); insert into t_table values('tbase','tbase','tbase'); insert into t_table values('Tbase','Tbase','Tbase'); create or replace function f_table returns setof t_table as v_rec record; begin for v_rec in select * from t_table loop return next v_rec; end loop; return; end; / #调用 select * from f_table();