千家信息网

oracle 利用函数实现多行一列数据合并效果

发表于:2024-10-24 作者:千家信息网编辑
千家信息网最后更新 2024年10月24日,/* Formatted on 2013-1-11 13:23:55 (QP5 v5.185.11230.41888) */CREATE OR REPLACE FUNCTION GetGiftsNam
千家信息网最后更新 2024年10月24日oracle 利用函数实现多行一列数据合并效果

/* Formatted on 2013-1-11 13:23:55 (QP5 v5.185.11230.41888) */
CREATE OR REPLACE FUNCTION GetGiftsName (rid in number)//rid 穿的参数
RETURN VARCHAR2
AS
STR VARCHAR2 (1000); /*返回的数据集*/
BEGIN
DECLARE
v_medCode VARCHAR2 (100); /*存放临时变量的地方*/

CURSOR D_cursor
IS
select b.cproname from cc_promotions a left join cc_progifts b on a.ipromosid=b.ipromosid where a.ipromosid=rid and b.bgift='';
BEGIN
OPEN D_cursor;
loop
fetch D_cursor into v_medCode;
EXIT WHEN D_cursor%NOTFOUND;
if length(STR) > 0 THEN
STR := STR ||','|| v_medCode;
ELSE
STR := STR || v_medCode;
END IF;
END LOOP;
close D_cursor;
end;
RETURN STR;
END GetGiftsName;


select GetGiftsName(428) from dual


实现的效果为可以把相同id下的一个字段数据查询出来并且以逗号分开( 加州西梅,加州西梅2)



0