sql server 2000中,同一个表,当某列的值由0变为1时,另一列(时间)的值(同一行)自动变为当前值。
想问一下这是怎么做到的,很确定和程序无关的,难道是数据库内部函数?在哪里可以看到相应的代码或设置呢??请各位大虾帮帮忙啊!是自动变为当前时间值。...
想问一下这是怎么做到的,很确定和程序无关的,难道是数据库内部函数?在哪里可以看到相应的代码或设置呢??请各位大虾帮帮忙啊!
是自动变为当前时间值。 展开
是自动变为当前时间值。 展开
2个回答
展开全部
这个叫触发器
给你写个简单的例子
--建立测试表
create table test
(id int,
t_time datetime,
val int);
--插入一条数据
insert into test values (1,'2012-01-01',0)
--创建触发器
create trigger t_update
on test after update
as
if Update(val)
begin
Update test
Set t_time=getdate()
from test t , Deleted d ,Inserted i
where t.id=d.id and d.val=0
end
--测试
update test set val=1
这个时候你再
select * from test
你会发现那个时间列已经变成系统当前时间了
给你写个简单的例子
--建立测试表
create table test
(id int,
t_time datetime,
val int);
--插入一条数据
insert into test values (1,'2012-01-01',0)
--创建触发器
create trigger t_update
on test after update
as
if Update(val)
begin
Update test
Set t_time=getdate()
from test t , Deleted d ,Inserted i
where t.id=d.id and d.val=0
end
--测试
update test set val=1
这个时候你再
select * from test
你会发现那个时间列已经变成系统当前时间了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询