新手提问:很简单的触发器

zfl2k 2002-06-07 11:06:55
请问如何编写如下的触发器:
在更新或增加记录时自动在日期字段加上时间信息
...全文
66 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zfl2k 2002-06-07
  • 打赏
  • 举报
回复
非常谢谢bqj(听雨)!
我已解决:
我的触发器如下:
CREATE TRIGGER rqtime ON [dbo].[rz]
FOR INSERT, UPDATE
AS
DECLARE @tid int
select @tid=id from inserted
update rz set rz.mdate=rz.mdate + CONVERT(varchar, CONVERT(datetime, getdate()), 108) where id=@tid
再次感谢bqj(听雨),并送上20分!
bqj 2002-06-07
  • 打赏
  • 举报
回复
用你的名字是这样的

增加一个日期型字段
alter table mtable add mrq datetime null default getdate()

这样建触发器
CREATE trigger update_date on mtable
for update as

update mtable set mrq = getdate() where mid in ( select mid from inserted )


bqj 2002-06-07
  • 打赏
  • 举报
回复
那你要用以下语句增加一个日期型字段
alter table ht add datenew datetime null default getdate()

假设主键是masterID

可这样建触发器
CREATE trigger update_date on tablename
for update as

update tablename set datecolumn = getdate() where masterid in ( select mastreid from inserted )

zfl2k 2002-06-07
  • 打赏
  • 举报
回复
随便举个例子就行了
如表:mtable
mid 主键
mrq 日期
bqj 2002-06-07
  • 打赏
  • 举报
回复
你这个表的主键是什么?
zfl2k 2002-06-07
  • 打赏
  • 举报
回复
补充:
情况是这样的,整个系统都是别人的程序,我只是要在它更新表时在更新的记录日期字段里加上时间信息,但原有的日期不变。
如更新的日期为2002-6-7,则改为2002-6-7 11:21:30
注:只更新刚更新或增加的记录
bqj 2002-06-07
  • 打赏
  • 举报
回复
CREATE trigger update_date on tablename
for insert , update as

update tablename set datecolumn = getdate() where ...


其中tablename为表名, datecolumn为你tablename表中的日期列名
where 后面为条件,指定你要更新的条件。

34,593

社区成员

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

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