最基本的DBMS_OUTPUT PUT_LINE()方法
創(chuàng)新互聯(lián)從2013年成立,先為昌江等服務建站,昌江等地企業(yè),進行企業(yè)商務咨詢服務。為昌江企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
隨便在什么地方 只要是BEGIN和END之間 就可以使用DBMS_OUTPUT PUT_LINE(output);然而這會有一個問題 就是使用該函數(shù)一次最多只可以顯示 個字符 否則緩沖區(qū)會溢出
此外 函數(shù)DBMS_OUTPUT ENABLE( )這種函數(shù) 僅僅是設置整個過程的全部輸出緩沖區(qū)大小 而非DBMS_OUTPUT PUT_LINE()的緩沖區(qū)大小
對于超過 個字符的變量 使用DBMS_OUTPUT PUT_LINE()方法是沒有效的 據(jù)說在Oracle 中 解除了這個限制 可以輸出任意大小的字符串
declare
output varchar ( );
begin
output:= ; //賦值
DBMS_OUTPUT PUT_LINE(output);
end;
使用表的方法
首先建立一張表 然后在PL/SQL中將要輸出的內(nèi)容插到表中 然后再從表中查看內(nèi)容 對于這種方法一次可以輸出幾千個字符
( ) create table my_output{id number( ) txt varchar ( )? );
( ) declareoutput varchar ( );strSql varchar ( );count number( ):= ;beginstrSql:= delete * from my_output ;EXECUTE IMMEDIATE strSql;output:= ; //賦值count:=count+ ;strSql:= Insert into my_output value (count ||output|| ) ; 在單引號中相當于字符 EXECUTE IMMEDIATE strSql;end;
使用輸出文件的方法
如果變量非常大 以致連使用表都沒有辦法插入時 只有使用文件方式了
( ) create or replace directory TMP as d:\testtmp ;
建立一個文件夾路徑
( ) declare
file_handle UTL_FILE FILE_TYPE;
output varchar ( );
begin
output:= ;
file_handle := UTL_FILE FOPEN( TMP output txt w [ ]);
四個參數(shù) 目錄 文件名 打開方式 最大行數(shù)(默認為 )
UTL_FILE PUT_LINE(file_handle output);
UTL_FILE FCLOSE(file_handle);
exception
WHEN utl_file invalid_path THEN
raise_application_error( ERROR: Invalid path for file or path not in INIT ORA );
lishixinzhi/Article/program/Oracle/201311/17423
oracle
函數(shù)調(diào)試怎么使用
看你的編譯器啊。
編譯器上面也有按鈕,可以選擇進入函數(shù)內(nèi)部調(diào)試,或者是直接處理完成的?;蛘吒唵蔚木褪牵诤瘮?shù)內(nèi)部也設置斷點就好了。
oracle寫好的函數(shù)可以在SQL語句中直接調(diào)用,比如:你寫了一個TRIM函數(shù),然后PB端的SQL中可以這樣調(diào)用:select col1,... from tab_name where trim(col1) =''; 進行存儲過程調(diào)用: PowerBuilder requires a declarative statement to identify the database stored procedure that is being used and a logical name that can be referenced in subsequent SQL statements. The general syntax for declaring a procedure is: DECLARE logical_procedure_name PROCEDURE FOR Oracle_procedure_name(:InParam1,:InParam2, ...) {USING transaction_object};