一般的SQL語句無論寫在頁面上,還是寫在獨立的SQL文件上,被特定語言讀取SQL語句後,傳遞給Oracle服務器,還需要經過sql得標準型,可行性的檢驗後才執行SQL語句。
PACKAGE執行時因爲它是PROCEDURE,FUNCTION的集合,已經是被驗證的狀態,可以直接運行。
首先PACKAGE SPEC
CREATE OR REPLACE PACKAGE PX_POT_VISIVILITY
AS
TYPE RSTL_CUR IS REF CURSOR;
PROCEDURE Port_Inventory_list(
i_VIN_NO IN VARCHAR2,
oREF_CUR OUT RSTL_CUR
);
END;
/
BODY 部分
CREATE OR REPLACE PACKAGE BODY PX_POT_VISIVILITY
AS
PROCEDURE Port_Inventory_list(
i_VIN_NO IN VARCHAR2,
oREF_CUR OUT RSTL_CUR
)
AS
BEGIN
OPEN oREF_CUR FOR
SELECT
PO_NO,
PORT_CD,
PORT_NM
FROM PORT_INFO
WHERE NVL(VIN_NO, '%') LIKE i_VIN_NO || '%'
ORDER BY PORT_CD;
END Port_Inventory_list;
END PX_POT_VISIVILITY;
/