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