关于SQL2005一个很简单的触发器

ihope6 2008-11-04 09:39:59
关于SQL2005一个很简单的触发器
就是每次往MeTable表里面添加一条信息,触发器就把dTime字段填充当前时间。修改也是。
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
水族杰纶 2008-11-04
  • 打赏
  • 举报
回复
IF OBJECT_ID('TEST')IS NOT NULL DROP TABLE TEST
GO
CREATE TABLE TEST(ID INT ,[NAME] VARCHAR(10),[DATE] DATETIME DEFAULT GETDATE())
INSERT TEST(ID,[NAME]) SELECT 1,'A'
WAITFOR DELAY '00:00:03'
INSERT TEST(ID,[NAME]) SELECT 2,'B'
WAITFOR DELAY '00:00:02'
SELECT * FROM TEST
UPDATE TEST SET ID=5,[DATE]=GETDATE() WHERE ID=1
SELECT * FROM TEST
/*
ID NAME DATE
----------- ---------- ------------------------------------------------------
1 A 2008-11-04 11:13:41.137
2 B 2008-11-04 11:13:44.137

(影響 2 個資料列)


(影響 1 個資料列)

ID NAME DATE
----------- ---------- ------------------------------------------------------
5 A 2008-11-04 11:13:46.137
2 B 2008-11-04 11:13:44.137

(影響 2 個資料列)
*/
ihope6 2008-11-04
  • 打赏
  • 举报
回复
To:ilovewalk

对你说的很感兴趣,怎么在表中直接定义?能否说详细点?
ilovewalk 2008-11-04
  • 打赏
  • 举报
回复
不用trigger也可以,直接在表中定义,Date AS Getdate().
hyde100 2008-11-04
  • 打赏
  • 举报
回复

create trigger tr_t on t
for insert,update
as

update t
set Date=getdate()
from inserted i
where
t.ID=i.ID--唯一
中国风 2008-11-04
  • 打赏
  • 举报
回复
create trigger tr_t on t
after insert
as

update t
set Date=getdate()
from inserted i
where
t.ID=i.ID--唯一

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧