dbms_lob.createtemporary(v_cursor,true);
dbms_lob.append(v_cursor,'12345');
return v_cursor;
輸出結果是 12 ,拼接的不完整是什么原因呢
uj5u.com熱心網友回復:
完整例子貼出來吧create or replace function test_1905101 return varchar2 is
v_str clob;
begin
dbms_lob.createtemporary(v_str,true);
dbms_lob.append(v_str,'12345');
return(v_str);
end ;
select test_1905101() from dual;
uj5u.com熱心網友回復:
create or replace function test2 return clob isv_clob CLOB;
begin
DECLARE
v_char VARCHAR2(100);
BEGIN
v_char := '123456';
dbms_lob.createtemporary(v_clob,TRUE);
dbms_lob.append(v_clob,v_char);
--dbms_output.put_line(v_clob);
end;
return v_clob;
END test2;
回傳的 v_clob 為123 ,如果是執行輸出的話就輸出123456
uj5u.com熱心網友回復:
說一下你的呼叫程序
SQL>
SQL> create or replace function test2 return clob is
2 v_clob CLOB;
3 begin
4 DECLARE
5 v_char VARCHAR2(100);
6 BEGIN
7 v_char := '123456';
8 dbms_lob.createtemporary(v_clob,TRUE);
9 dbms_lob.append(v_clob,v_char);
10 end;
11 return v_clob;
12 END test2;
13 /
Function created
SQL> set serverout on;
SQL> declare
2 c clob;
3 d clob;
4 begin
5 select test2 into c from dual;
6 dbms_output.put_line('c=' || c);
7 d := test2;
8 dbms_output.put_line('d=' || d);
9 end;
10 /
c=123456
d=123456
PL/SQL procedure successfully completed
SQL> drop function test2;
Function dropped
SQL>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/44746.html
標籤:高級技術
上一篇:同一個oracle資料庫,本地和服務器上查詢相同的sql出現不同的結果集 實在費解 求大神指點思路
下一篇:存盤程序
