1
我正在使用Teradata 14.00如何在Teradata表中創建更新時間戳的觸發器?
我在Teradata 14.00中有一個帶有列(id,name,city,mytime)的表格。
如果我們更新名稱,'mytime'列中的時間戳應該自動更新,而不必在Update語句中指定它。
如何爲此使用觸發器。
有任何建議。
在此先感謝
我正在使用Teradata 14.00如何在Teradata表中創建更新時間戳的觸發器?
我在Teradata 14.00中有一個帶有列(id,name,city,mytime)的表格。
如果我們更新名稱,'mytime'列中的時間戳應該自動更新,而不必在Update語句中指定它。
如何爲此使用觸發器。
有任何建議。
在此先感謝
這是一篇很好的文章http://teradatafaqs.blogspot.in/p/tutorial.html學習觸發器。
爲了您在這裏輕鬆一步一步創建觸發器。
樣品表
Temp Table for your refernce :-
drop table DB_SOK.EMPLOYEE;
CREATE MULTISET TABLE DB_SOK.EMPLOYEE
(Employeeid INTEGER,
Employeename CHAR(30),
Salary INTEGER,
city varchar(100),
mytime timestamp(0));
insert into DB_SOK.EMPLOYEE values(1,'happy',100,'NYC',current_timestamp(0));
Select * from DB_SOK.EMPLOYEE;
Employeeid Employeename Salary city mytime
1 1 happy 100 NYC 11/7/2015 08:51:05
然後創建更新的每一行觸發器。
Replace TRIGGER DB_SOK.EmpUpdate
AFTER UPDATE OF (Employeename) ON DB_SOK.EMPLOYEE
REFERENCING OLD ROW as EMPLOYEE_old_row
NEW row as EMPLOYEE_new_row
FOR EACH ROW
update DB_SOK.EMPLOYEE
set mytime=current_timestamp(0)
消防更新: - 再次
update DB_SOK.EMPLOYEE
set Employeename ='Hello Happy'
where Employeeid=1;
選擇數據看數據更新與否;
Select * from DB_SOK.EMPLOYEE;
Employeeid Employeename Salary city mytime
1 1 Hello Happy 100 NYC 11/7/2015 09:02:23
非常感謝您回覆 – Deepthy
@Deepthy解決了您的問題......? –
命令正在工作,但'mytime'列中的所有值都更新爲current_timestamp – Deepthy