table a ----------------- A ,B, C 1 2 u 1 2 i 1 3 p 怎样写 将字段 C 的值赋给一个变量,用一条语句写 str='uip' 如在sql中可这样写 declare @str varchar(200) select @str=@str+C from table a 在oracle 中怎样写?.....thank you
是呀,sql server 可不用游标,oracle 不知怎么写
CREATE OR REPLACE FUNCTION F_TEST(V_ID IN VARHCAR2) RETURN VARCHAR2 IS TYPE V_CURSOR IS REF CURSOR; MYCUR V_CURSOR; V_STR VARCHAR2(200); V_TEMP VARCHAR2(200); BEGIN OPEN MYCUR FOR SELECT C FROM TABLE; LOOP FETCH MYCUR INTO V_STR; EXIT WHEN MYCURSOR%NOTFOUND; V_TEMP := V_TEMP || V_STR; END LOOP; RETURN V_TEMP; END F_TEST;
在oracle里面没有这样的写法
一般来说是用游标解决,TO: BlueSuperMan(耀舞飞扬)
那他10000行记录,你难道concat 10000次?
-----------------
A ,B, C
1 2 u
1 2 i
1 3 p
怎样写 将字段 C 的值赋给一个变量,用一条语句写
str='uip'
如在sql中可这样写
declare @str varchar(200)
select @str=@str+C from table a
在oracle 中怎样写?.....thank you
TYPE V_CURSOR IS REF CURSOR;
MYCUR V_CURSOR;
V_STR VARCHAR2(200);
V_TEMP VARCHAR2(200);
BEGIN
OPEN MYCUR FOR
SELECT C FROM TABLE;
LOOP
FETCH MYCUR
INTO V_STR;
EXIT WHEN MYCURSOR%NOTFOUND;
V_TEMP := V_TEMP || V_STR;
END LOOP;
RETURN V_TEMP;
END F_TEST;