2009-12-02 28 views
7

Vì một lý do nào đó, tôi đang chạy trống về cách thực hiện một việc như thế này.Trình kích hoạt Oracle Cập nhật một trường trên một Chèn hoặc Cập nhật

Tôi có một bảng trông như thế này:

UserID | Name | DateAdded | LastUpated 
-------------------------------------------------- 
1  | James Q | 1/1/2009  | 

Nếu tôi chèn hoặc cập nhật kỷ lục lĩnh vực lastupdated cần được cập nhật các sysdate. Tôi sẽ làm gì đó như thế này?

Trả lời

12
CREATE OR REPLACE TRIGGER your_trigger_name 
BEFORE INSERT OR UPDATE 
ON your_table 
FOR EACH ROW 
DECLARE 
BEGIN 
    :new.LastUpdated := sysdate; 
END; 

Hãy thử điều đó. Tôi đã không có một máy chủ oracle trong tầm tay, nhưng tôi hy vọng tôi đã có cú pháp đúng.

0

tạo hoặc thay thế kích hoạt mytable_bi trước khi chèn vào mytable cho mỗi hàng bắt đầu

: NEW.lastupdated: = sysdate();

kết thúc;

tạo hoặc thay thế kích hoạt mytable_bu trước khi cập nhật trên mytable cho mỗi hàng bắt đầu

: NEW.lastupdated: = sysdate();

kết thúc;

Các vấn đề liên quan