2015-11-07 83 views
1

我正在使用Teradata 14.00如何在Teradata表中創建更新時間戳的觸發器?

我在Teradata 14.00中有一個帶有列(id,name,city,mytime)的表格。

如果我們更新名稱,'mytime'列中的時間戳應該自動更新,而不必在Update語句中指定它。

如何爲此使用觸發器。

有任何建議。
在此先感謝

回答

1

這是一篇很好的文章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 
+0

非常感謝您回覆 – Deepthy

+0

@Deepthy解決了您的問題......? –

+0

命令正在工作,但'mytime'列中的所有值都更新爲current_timestamp – Deepthy

相關問題