定義SQL*PLUS型別的可執行

adian發表於2007-05-30

在定義可執行的時候,其中有一種型別為SQL*PLUS

[@more@]

在定義可執行的時候,其中有一種型別為SQL*PLUS。雖然可能使用不頻繁,但是這種型別在系統中的確存在。可以透過如下SQL查詢當前系統中,各種型別可執行的數量。

SELECT COUNT (*), meaning
FROM fnd_executables_vl fev, fnd_lookups fl
WHERE fev.execution_method_code = fl.lookup_code(+)
AND fl.lookup_type = 'CP_EXECUTION_METHOD_CODE'
GROUP BY meaning;

透過輸出結果可以發現,ERP中最多的型別為PL/SQL Stored Procedure,有2000多個,SQL*Plus只有300多個,Java型別的70個。記得Tom曾經說過,如果你的任務能夠用SQL完成,那麼就選擇SQL,其次選在SQL*PLUS,然後PL/SQL,然後Java Procedure,然後C*PROC。Oracle絕大多數的併發請求都透過PL/SQL Stored Procedure實現。

那麼怎樣定義一個SQL*PLUS的併發請求呢?

1. 編寫SQL*PLUS指令碼,字尾為.sql。
clear buffer;
set heading on
set verify off
set feed off
set linesize 80
set pagesize 4
set underline '='
set serveroutput on size 1000000
begin
dbms_output.put_line('this is output by procedure dbms_output');
end;
/
set heading off
prompt
select application_short_name app_name from applsys.fnd_application where rownum < 10;
exit

2. 將指令碼放置到應用對應的目錄。
假設為庫存應用併發請求。那麼,經SQL放入資料庫伺服器的$INV_TOP目錄下。
3. 註冊可執行。有兩個地方需要注意。
Application為Oracle Inventory,與Step 2中的應用的目錄對應。
Execution Method為SQL*Plus
4. 註冊併發程式。
5. 將併發程式新增入對應的請求組。
6. 執行檢查結果。上述指令碼輸出的結果為。

this is output by procedure dbms_output

ABM
AD
AHL

AHM
AK
ALR

AMF
AMS
AMV

Input truncated to 4 characters

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/94829/viewspace-916830/,如需轉載,請註明出處,否則將追究法律責任。

相關文章