MYSQL函数的返回值类型支持RETURNS TABLE
(但需MySQL 8.0+支持)
OCEANBASE企业版支不支持这种表类型?
脚本如下:
DELIMITER //
CREATE FUNCTION FN_MYFUNC(
i_tjrq_par INT,
i_khdxdh INT
) RETURNS TABLE ( # 返回行记录字段
R_TJRQ int,
R_ORG_APRL_ID int,
R_ORG_CODE varchar(30)
)
BEGIN
DECLARE v_qxhs varchar(4000);
set v_qxhs=‘select 1 as R_TJRQ,2 AS R_ORG_ID,’‘test’’ as R_ORG_CODE FROM PAS_VT’;
– 执行动态SQL并返回结果
RETURN QUERY EXECUTE v_qxhs;
END //
DELIMITER ;
– 测试
SELECT * FROM FN_MYFUNC(20221231,1,‘哈哈’);