1.最基本的dbms_output.put_line()方法。
隨便在什麼地方,只要是begin和end之間,就可以使用dbms_output.put_line(output);然而這會有乙個問題,就是使用該函式一次最多隻可以顯示255個字元,否則緩衝區會溢位。
此外,函式dbms_output.enable(20000)這種函式,僅僅是設定整個過程的全部輸出緩衝區大小,而非dbms_output.put_line()的緩衝區大小。
對於超過255個字元的變數,使用dbms_output.put_line()方法是沒有效的。據說在oracle10中,解除了這個限制,可以輸出任意大小的字串。
declare
output varchar2(200);
begin
output:='...'; //賦值
dbms_output.put_line(output);
end;2.使用表的方法。
首先建立一張表,然後在pl/sql中將要輸出的內容插到表中。然後再從表中檢視內容。對於這種方法一次可以輸出幾千個字元。
(1) create table my_output{id number(4),
txt varchar2(4000)
);
(2) declare3.使用輸出檔案的方法。output varchar2(4000);
strsql varchar2(4500);
count number(4):=0;
begin
strsql:='delete * from my_output';
execute immediate strsql;
output:='...'; //賦值
count:=count+1;
strsql:='insert into my_output value (count,'''||output||''')';
--''在單引號中相當於字元'
execute immediate strsql;
end;
如果變數非常大,以致連使用表都沒有辦法插入時,只有使用檔案方式了。
(1) create or replace directory tmp as 'd:\testtmp';
--建立乙個資料夾路徑
(2) declare
file_handle utl_file.file_type;
output varchar2(30000);
begin
output:="....";
file_handle := utl_file.fopen('tmp', 'output.txt', 'w',[1-32767]);
--四個引數:目錄,檔名,開啟方式,最大行數(預設為2000)
utl_file.put_line(file_handle, output);
utl_file.fclose(file_handle);
exception
when utl_file.invalid_path then
end;
Oracle PL SQL 過程除錯的輸出方法
1.最基本的dbms output.put line 方法。隨便在什麼地方,只要是begin和end之間,就可以使用dbms output.put line output 然而這會有乙個問題,就是使用該函式一次最多隻可以顯示255個字元,否則緩衝區會溢位。此外,函式dbms output.enabl...
OraclePL SQL儲存過程
create or replace 建立或替換,如果存在就替換,不存在就建立create or replace procedure piscursor cisselect from dept2 for update beginfor row record in c loopif row record...
Oracle PL SQL 儲存過程
1.oracle 提供可以吧pl sql程式儲存在資料庫中,並且可以在任何地方來運用它。這樣就叫儲存過程或者函式。2.建立函式 例 返回helloworld的函式,is相當於declare用於宣告區域性變數,第乙個return只宣告返回型別 create or replace function he...