請教Trigger的問題,因執行上一直有Error產生 |
尚未結案
|
turtile
一般會員 發表:3 回覆:3 積分:1 註冊:2004-09-16 發送簡訊給我 |
各位大大:
最近要寫Trigger,參考了粉多文章,But在Run的時候卻會出現"ORA-0471遺失Before,after或Instead of 關鍵字' 的錯誤訊息,可否請各位大大指教一下. 我目的是當IT_Test_NPLOT中的LotID有異動時且LOTID的前2碼為CN時,就自動把異動的值直接UPDATE到 IT_TMP_NPLOT中.. 我的語法如下: CREATE TRIGGER IT_NPTrigger ON IT_Test_NPLOT
FOR INSERT, UPDATE
AS
BEGIN
IF UPDATE(slotid) update IT_Tmp_NPLOT set slotid=slotid
where substr(slotid,1,2) = 'CN'
END
|
julian
一般會員 發表:3 回覆:10 積分:7 註冊:2002-07-18 發送簡訊給我 |
|
julian
一般會員 發表:3 回覆:10 積分:7 註冊:2002-07-18 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
turtile 你好: 不知有否誤會你的意思, 試試看:
CREATE or REPLACE TRIGGER IT_NPTrigger AFTER Insert or Update -- 觸動時機 ON IT_Test_NPLOT for each row -- 每一筆都觸動 BEGIN IF (substr(:NEW.slotid,1,2) = 'CN') -- LOTID的新值前2碼為CN時 then update IT_Tmp_NPLOT set slotid=:NEW.slotid where substr(slotid,1,2) = 'CN'; END IF; END;PS. 你原來所附之 SQL Code, 應該不是 PL/SQL(Oracle), 應是...Transact-SQL(MSSQL/Sybase)吧. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |