0
我試圖創建觸發器從表中獲取的validity
值,並將其添加到startdate
價值得到enddate
爲dblog
table.I寫這觸發。PL/SQL擺脫起始日期結束日期
我dblog
和表架構是這樣的
desc dblog;
Name Null? Type
---------------------------- -------- -------
PLANID NOT NULL NUMBER
STARTDATE DATE
ENDDATE NOT NULL DATE
desc plan;
Name Null? Type
---------------------------- -------- -------
PLANID NOT NULL NUMBER
VALIDITY NOT NULL NUMBER
默認列STARTDATE
有SYSDATE
價值。
CREATE OR REPLACE TRIGGER trg2
BEFORE INSERT ON dblog FOR EACH ROW
DECLARE
l_startdate date := SYSDATE;
l_enddate date;
l_validity number;
BEGIN
SELECT validity INTO l_validity
FROM plan
WHERE planid = :NEW.planid;
l_endate := l_startdate + l_validity;
SET :NEW.enddate := l_enddate;
END;
/
它顯示了以下錯誤:
10/2 PL/SQL: SQL Statement ignored
10/6 PL/SQL: ORA-00922: missing or invalid option
我使用錯誤的觀念還是什麼?我怎樣才能做到這一點?
你好我可以問你在哪裏將得到:new.planid? – brenners1302
插入到dblog執行表的位置在哪裏?它不會來自表'plan'的插入觸發器,是嗎? – TommCatt