Number of SQL Staments Cached:PB可將數(shù)據(jù)窗口對象產(chǎn)生的SQL語句和嵌入式SQL語句保存在SQL語句緩沖區(qū)
,該參數(shù)指定緩沖區(qū)為PB保留的SQL語句數(shù)目。該數(shù)值可由下式計(jì)算:SQLCache=服務(wù)器OPEN―CURSORS數(shù)-5(保留的游標(biāo)數(shù))-本連接預(yù)期使用的最大游標(biāo)數(shù);
2)在此用戶對象中,聲明Local External Functions,將存儲(chǔ)過程以RPCFUNC關(guān)鍵字聲明為外部函數(shù)。在Declare Local External Functions對話框中按Procedures按鈕選擇要調(diào)用的后臺(tái)存儲(chǔ)過程,或直接輸入類似subroutin
e TEST(long id,ref string name)RPCFUNC ALIAS FOR “DEVTEST”的語句。例如中DEVTEST的參數(shù)為(id IN NUMBER,name IN OUT VARCHAR2)。
1)由于PB中String類型的數(shù)據(jù)長度是動(dòng)態(tài)分配的,因此對Ref String類型的參數(shù),每次調(diào)用前需要申請足夠的
空間。例如上例從輸入的id值檢索name,后臺(tái)聲明的NAME數(shù)據(jù)類型為VARCHAR2(30),每次調(diào)用SQLCATEST前需要
用ls―name=SPACE(30)置ls―name為足夠長度的空串。
2)類似地當(dāng)傳遞的參數(shù)為數(shù)組(后臺(tái)稱PL/SQL Table)時(shí),聲明參數(shù)為相應(yīng)類型的動(dòng)態(tài)數(shù)組,并在每次調(diào)用前設(shè)
置數(shù)組上界為足夠大的值。例如:DEV用戶的DEPT包中聲明了TYPE tbl―name IS TABLE OF VARCHAR2(30) INDEX B
Y BINARY―INTEGER;存儲(chǔ)過程EMP―OF―DEPT(dept―id IN NUMBER,name OUT DEPT.tbl―name)返回部門編寫為de
pt―id的部門的所有員工,置name數(shù)組中。假定所有部門的員工數(shù)目不超過100,則可用以下語句聲明和調(diào)用DEV
EMP―OF―DEPT:
Declare External Functions對話框中:
Subroutine EMP―OF―DEPT(long dept―id,ref str
ing name[]) RPCFUNC ALIAS FOR ″DEV.EMP―OF―DEPT
″