触发器 for insert

人称猪 2011-11-12 03:05:59
在制定表tb的时候某台机器jiqiID所做的订单orderID的开始时间starttime默认为getdate(),结束时间overtime默认为空null

现在我想要加入个触发器

在这台机器上插入新的订单的时候把上一条订单orderID的结束时间overtime更新为插入新记录的时间。


这个触发器该怎么写呢

...全文
133 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengxuan 2011-11-12
  • 打赏
  • 举报
回复

if object_id('tb','U') is not null
drop table tb
go
create table tb
(
jiqiID int,
starttime datetime default getdate(),
overtime datetime,
)
go
insert into tb(jiqiID) select 1
go
if object_id('tr_tb','TR') is not null
drop trigger tr_tb
go
create trigger tr_tb on tb
for insert
as
update tb set overtime=getdate() from tb inner join inserted on tb.jiqiID=inserted.jiqiID-1
go
insert into tb(jiqiID) select 2
select * from tb
/*
jiqiID starttime overtime
----------- ----------------------- -----------------------
1 2011-11-12 15:58:23.423 2011-11-12 15:58:48.440
2 2011-11-12 15:58:48.360 NULL

(2 行受影响)

*/
中国风 2011-11-12
  • 打赏
  • 举报
回复
参照以上写法改
最好贴出完整的表结构
中国风 2011-11-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 roy_88 的回复:]
触发器不能限制某一台机触发

SQL code

Create trigger tr_SalesOrder on SalesOrder
for insert
as

update s
set starttime=getdate(),overtime=null
from SalesOrder s
inner join inserted i on s.OrderID=s.Or……
[/Quote]

改改,多打两个字母for insert


Create trigger tr_SalesOrder on SalesOrder
for insert
as

update s
set starttime=getdate(),overtime=null
from SalesOrder s
inner join inserted i on s.OrderID=s.OrderID
人称猪 2011-11-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 roy_88 的回复:]

触发器不能限制某一台机触发
SQL code

Create trigger tr_SalesOrder on SalesOrder
for inserted
as

update s
set starttime=getdate(),overtime=null
from SalesOrder s
inner join inserted i on s.OrderID=s.OrderID
[/Quote]

用户只在数据库中插入了一条新的记录,
我要求只是把他插入那条记录所在机器的上条订单的结束时间更新下就好了呀(因为上条订单的结束时间在创建的时候默认为空)
中国风 2011-11-12
  • 打赏
  • 举报
回复
触发器不能限制某一台机触发

Create trigger tr_SalesOrder on SalesOrder
for inserted
as

update s
set starttime=getdate(),overtime=null
from SalesOrder s
inner join inserted i on s.OrderID=s.OrderID

34,576

社区成员

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

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