通常我們會在oracle中用dbms_output輸出除錯資訊,但dbms_output只能在呼叫過程完成才返回結果,不能實時輸出的。這意味著通常我們經常要等幾分鐘或更長的時間才能看到除錯資訊,那怎麼才能實現實時輸出呢?
如果想實時輸出可以通過寫表或者寫日誌的方式進行,和pipe row管道輸出的方法。
下面為大家介紹管道輸出
管道輸出可以通過複雜的處理最終得到乙個結果集,然後通過pipelined返回
--create or replace type myobjectformat as object ( a int, b date, c varchar2(25));
-- --宣告乙個列型別myobjectformat
--create or replace type mytabletype as table of myobjectformat;
--宣告乙個表型別 mytabletype
create or replace function prodfunc
return mytabletype
pipelined
isbegin
for i in 1 .. 5
loop
pipe row (myobjectformat(i,sysdate+i,'row '||i));
end loop;
return;
end;
--select * from table(prodfunc);
--執行函式,結果如下:
oracle 管道流函式
管道流函式 1 先定義 物件類中 比如 create or replace type obj cjgzl is object mjvarchar2 20 民警 sspcsvarchar2 12 派出所 sqdmvarchar2 20 社群 fwslnumber 10 房屋數 czrksnumber ...
Oracle管道函式示例
oracle的管道函式需要定義下面的三樣 record object type 定義乙個record或object型別的變數,這個變數用於表示返回結果集的一行資料,有點像c 中的datarow類。table type 定義乙個集合型別,這個型別由record object type填充。這個型別也可...
Linux運維筆記 管道輸出
正確輸出如下,其他輸出為錯誤輸出 以非root使用者執行以下操作 find etc name passwd file 符號會覆蓋掉file檔案原有的內容,要想向file檔案追加內容,使用 符號 所謂 改邪歸正 即,2 1,將標準錯誤輸出2重定向到標準輸出中,2 就是標準錯誤輸出,是為了讓bash將1...