如何避免dbms_output.put_line的255長度限止(轉)
create or replace package my_output
as
procedure put( s in varchar2 );
procedure put_line( s in varchar2 );
procedure new_line;
function get_line( n in number ) return varchar2;
pragma restrict_references( get_line, wnds, rnds );
function get_line_count return number;
pragma restrict_references( get_line_count, wnds, rnds, wnps );
pragma restrict_references( my_output, wnds, rnds, wnps, rnps );
end;
/
create or replace package body my_output
as
type Array is table of varchar2(4000) index by binary_integer;
g_data array;
g_cnt number default 1;
procedure put( s in varchar2 )
is
begin
if ( g_data.last is not null ) then
g_data(g_data.last) := g_data(g_data.last) || s;
else
g_data(1) := s;
end if;
end;
procedure put_line( s in varchar2 )
is
begin
put( s );
g_data(g_data.last+1) := null;
end;
procedure new_line
is
begin
put( null );
g_data(g_data.last+1) := null;
end;
function get_line( n in number ) return varchar2
is
l_str varchar2(4000) default g_data(n);
begin
g_data.delete(n);
return l_str;
end;
function get_line_count return number
is
begin
return g_data.count+1;
end;
end;
/
create or replace view my_output_view
as
select rownum lineno, my_output.get_line( rownum ) text
from all_objects
where rownum < ( select my_output.get_line_count from dual );
rudolf@TEST>begin
2 my_output.put_line(lpad('love',1400,'love'));
3 end;
4 /
PL/SQL procedure successfully completed.
rudolf@TEST>select * from my_output_view;
LINENO
----------
TEXT
----------------------------------------------------------------------------------------------------
1
lovelovelovelovelovelovelovelovelovelovelovelovelovelovelovelovelovelovelovelovelovelovelovelovelove.....
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756652/viewspace-242260/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- c# word操作篇,解決字串長度超過255就不能替換的問題C#字串
- 前端如何設定背景顏色的透明度 css中的 rgba() 函式詳解 :background-color: rgba(255,255,255,0)前端CSS函式
- 如何增長程式碼長度
- 專案進度延誤該如何避免和克服?
- 如何避免SHRINKDATABASE & SHRINKFILE 產生索引碎片(轉載)Database索引
- pymysql KeyError:255MySqlError
- Javascript如何改變陣列的長度?JavaScript陣列
- 科技愛好者週刊(第 255 期):對待 AI 的正確態度AI
- 如何避免ConcurrentModificationExceptionException
- 如何避免Swap分割槽對NVMe裝置造成過度損耗
- C語言如何計算陣列的長度C語言陣列
- Python如何統一縮排長度?Python
- [轉載] 詳解 MySQL int 型別的長度值問題MySql型別
- 【轉載】詳解 MySQL int 型別的長度值問題MySql型別
- CRM系統操作難度高怎麼辦?如何避免踩坑呢?
- Base58編碼的長度是如何計算的?
- 什麼是遊戲陪玩app原始碼開發的過度設計,如何避免?遊戲APP原始碼
- PHP如何獲取最大檔名長度PHP
- 如何避免表單的重複提交?
- [譯] PEP 255--簡單的生成器
- 字元陣列的長度字元陣列
- 分享如何避免您的網站被入侵?網站
- 網站如何避免谷歌SEO的懲罰?網站谷歌
- codeforces255C.Almost Arithmetical Progression
- 如何避免員工洩密
- java如何避免程式死鎖Java
- 如何避免資料庫被黑資料庫
- MySQL如何避免使用swap(ZT)MySql
- Flutter中如何避免多次buildFlutterUI
- 如何避免回撥地獄
- web前端培訓之Javascript如何改變陣列的長度?Web前端JavaScript陣列
- 施工企業數字化轉型如何避免IT技術與企業管理的“兩張皮”
- MVC如何避免控制器方法接收到的值不能被轉換為引數型別MVC型別
- 外包公司中的"煉獄",極度摧殘,避免踩坑。
- 按位長度進行字串的分割輸出,長度不足補0字串
- 如何有效的避免OOM,溫故Java中的引用OOMJava
- 如何避免JavaScript中的記憶體洩漏?JavaScript記憶體
- Containerd 的 Bug 導致容器被重建!如何避免?AI