सही जवाब पहले से ही दी जा चुकी है, लेकिन सिर्फ एक सा व्याख्या।
SQL> declare
2 cursor cur_t
3 is
4 select ename
5 from emp
6 where deptno = 10
7 ;
8 v_texttoadd emp.ename%type;
9 v_string varchar2(100);
10 begin
11 open cur_t;
12 loop
13 fetch cur_t into v_texttoadd;
14 v_string := v_string || v_texttoadd;
15 exit when cur_t%notfound;
16 end loop
17 ;
18 dbms_output.put_line(v_string);
19 end;
20/
CLARKKINGMILLERMILLER
PL/SQL-procedure is geslaagd.
यहाँ मिलर दो बार छपा है:
आपकी वर्तमान स्थिति का अनुकरण करना।
SQL> declare
2 cursor cur_t
3 is
4 select ename
5 from emp
6 where deptno = 10
7 ;
8 v_texttoadd emp.ename%type;
9 v_string varchar2(100);
10 begin
11 open cur_t;
12 loop
13 fetch cur_t into v_texttoadd;
14 exit when cur_t%notfound;
15 v_string := v_string || v_texttoadd;
16 end loop
17 ;
18 dbms_output.put_line(v_string);
19 end;
20/
CLARKKINGMILLER
PL/SQL-procedure is geslaagd.
हालांकि, अपने PL/SQL कोड जब एक कर्सर के लिए पाश का उपयोग कर आसान हो जाता है: बस बाहर निकलें बयान और v_string काम स्विच करके, आप इच्छित परिणाम मिलता है। तब आप अपने पाश कम हो जाती है में v_texttoadd चर और लाइनों की संख्या को छोड़ सकते हैं:
SQL> declare
2 cursor cur_t
3 is
4 select ename
5 from emp
6 where deptno = 10
7 ;
8 v_string varchar2(100);
9 begin
10 for r in cur_t
11 loop
12 v_string := v_string || r.ename;
13 end loop
14 ;
15 dbms_output.put_line(v_string);
16 end;
17/
CLARKKINGMILLER
PL/SQL-procedure is geslaagd.
तुम भी काम पूरा करने के लिए सीधे एसक्यूएल उपयोग कर सकते हैं। एसक्यूएल मॉडल खंड के साथ एक उदाहरण है, अगर आप 10g संस्करण या उच्चतर पर हैं:
SQL> select string
2 from (select string
3 , rn
4 from emp
5 where deptno = 10
6 model
7 dimension by (rownum rn)
8 measures (ename, cast(null as varchar2(100)) string)
9 (string[any] order by rn desc = ename[cv()] || string[cv()+1]
10 )
11 )
12 where rn = 1
13/
STRING
-----------------------------------------------------------------------------------
CLARKKINGMILLER
1 rij is geselecteerd.
सादर, रोब।
स्रोत
2009-05-22 06:59:18
मेरे लिए काम नहीं किया। यदि आप परवाह करते हैं तो मेरे उत्तर पर नज़र डालें। –