我希望能够在日期时间列中自动插入当前时间,在默认情况下它会插入00:00:00。
我创建了触发器。
Create trigger tr_tm on emp
after insert,update
as
declare @tme time
set @tme=(select CONVERT(varchar(7),start_date,108) from emp)
update emp
set @tme=convert(varchar(8),getdate(),108)
where @tme='00:00:00'
go
但是它显示错误:
怎么可能呢?消息512,级别16,状态1,过程tr_te,行15:子查询返回多个值。 当子查询跟随=,!=,<,<=,>,> =时不允许这种情况,或者当子查询用作表达式时也是如此。 该语句已终止。
提前感谢。
GETDATE()
。 - Backsinserted
和deleted
只包含一行。第二个最常见的错误是不使用inserted
和deleted
表,这些表可以明确告诉你哪些行刚刚受到影响。 - Damien_The_Unbeliever