0
我在Oracle數據庫3個表,表結構如下,應用程序將在一次的所有記錄被輸入的應用程序將通過更新文件名和標誌字段以更新狀態表Tnx_tmp表寫20K行名稱和狀態「U」。一旦狀態爲「U」。所有這些20K行需要被複制到歸檔狀態表被更新爲「P」 TNX表和標誌。 每行由RNO唯一標識。 另一個應用讀取TNX表,只要STAT字段是「X」需要在Tnx_tmp表進行更新,同時更新STAT場 ,一旦所有的20K行Tnx_tmp被更新爲「X」和狀態表應該用狀態「C」的文件名和標誌字段進行更新。在Oracle中創建數據傳送觸發
由於我是新來的Oracle請讓我知道如何proceed.Should我使用觸發器或有任何其他方式。
1)Tnx_tmp
Name Null? Type
----------------------------------------- -------- ----------------------------
PRID VARCHAR2(4)
TYPE VARCHAR2(2)
PRCD VARCHAR2(2)
TCD VARCHAR2(5)
RNO NOT NULL VARCHAR2(25)
FNO VARCHAR2(17)
TNO VARCHAR2(17)
TAMT VARCHAR2(14)
NARRATION VARCHAR2(50)
JNO VARCHAR2(9)
TDT DATE
STAT VARCHAR2(2)
ERRNO VARCHAR2(4)
ERRDESC VARCHAR2(100)
STAT1 CHAR(1)
PACK CHAR(2)
RMSG VARCHAR2(200)
QUPDTIME VARCHAR2(15)
QOUTTIME VARCHAR2(15)
RESPODTTIME VARCHAR2(17)
APPREAD CHAR(1)
OUTQNAME CHAR(1)
FILENAME VARCHAR2(15)
2)狀態
FILENAME VARCHAR2(15)
FLAG VARCHAR2(3)
3)TNX
Name Null? Type
----------------------------------------- -------- ----------------------------
PRID VARCHAR2(4)
TYPE VARCHAR2(2)
PRCD VARCHAR2(2)
TCD VARCHAR2(5)
RNO NOT NULL VARCHAR2(25)
FNO VARCHAR2(17)
TNO VARCHAR2(17)
TAMT VARCHAR2(14)
NARRATION VARCHAR2(50)
JNO VARCHAR2(9)
TDT DATE
STAT VARCHAR2(2)
ERRNO VARCHAR2(4)
ERRDESC VARCHAR2(100)
STAT1 CHAR(1)
PACK CHAR(2)
RMSG VARCHAR2(200)
QUPDTIME VARCHAR2(15)
QOUTTIME VARCHAR2(15)
RESPODTTIME VARCHAR2(17)
APPREAD CHAR(1)
OUTQNAME CHAR(1)
通常觸發器不應該用來提供複雜的業務規則,更好地使用函數和過程。你是從什麼開始的,還是你喜歡我們寫你的整個應用程序? –
,因爲我是新來的Oracle我開始與觸發,但發現很難處理所有的場景,因此被卡 – Mani
只有使用觸發,如果它是絕對必要的。特別是不要爲您的業務邏輯使用觸發器。只是使用於複製從文件tnx_tmp,然後從tnx_tmp等一攬子根據您所設定的標誌,一旦出事了退出的過程。 – Armunin