現在我正在向表中插入值,插入或更新值,如下所示:
IF :P903_PYMT_MTH_ID IS NOT NULL
THEN
INSERT INTO "TABLE_NAME" (
PYMT_MTH_ID,
PYMT_MTH_TYPE,
PYMT_MTH_NM,
CRT_DT_TM,
MOD_DT_TM,
USR_NM,
LAST_TXN_DT
)
VALUES (
:P903_PYMT_MTH_ID,
:P903_PYMT_MTH_TYPE,
:P903_PYMT_MTH_NM,
sysdate,
sysdate,
:P903_USR_NM,
:P903_LAST_TXN_DT
);
COMMIT;
但是現在,在辦公室里,他們需要使用最近創建的包來完成:
PROCEDURE P_NEW(PN_PYMT_MTH_ID NUMBER,
PV_PYMT_MTH_TP VARCHAR2,
PV_PYMT_MTH_NM VARCHAR2,
PV_USR_NM VARCHAR2,
PN_RESULTADO OUT NUMBER) AS
VN_EXISTE NUMBER := 0;
BEGIN
PN_RESULTADO := 0;
SELECT COUNT(1) INTO VN_EXISTE
FROM "TABLE_NAME"
WHERE PYMT_MTH_ID = PN_PYMT_MTH_ID;
如何將原始 apex 頁面中的每個輸入與包鏈接?我必須說這是我第一次使用包,所以我在該領域完全陌生。提前致謝。
uj5u.com熱心網友回復:
要在 apex 中的表單上使用包,只需替換表單中的代碼,您可以通過呼叫包和程序手動執行插入操作。將下面的“MYPKG”替換為實際的包名稱。
DECLARE
l_out_arg NUMBER;
BEGIN
MYPKG.P_NEW(PN_PYMT_MTH_ID => :P903_PYMT_MTH_ID,
PV_PYMT_MTH_TP => :P903_PYMT_MTH_TYPE,
PV_PYMT_MTH_NM => :P903_PYMT_MTH_NM,
PV_USR_NM => :P903_USR_NM,
PN_RESULTADO => l_out_arg);
END;
該變數l_out_arg可以替換為頁面專案,以便您可以在流程的成功訊息中或在此頁面流程之后執行的另一個組件(其他流程、分支)中使用它。
作為旁注,由于可以自動生成表上的 APEX 5.1 包。或許值得一看。生成的包中顯示的一項非常有用的技術是使用 MD5 哈希進行丟失更新檢測。這是使用包撰寫應用程式時很容易錯過的功能。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/376673.html
標籤:sql 甲骨文 oracle-apex 顶尖 oracle-apex-5.1
下一篇:如何在Oracle中獲得唯一值
