Hej.
MSSQL Server 2000
Product version. 8.00.818 (SP3)
Kan någon förklara vad som är fel i denna triggern.
CREATE TRIGGER [tr_mfilesstat] ON [dbo].[mfiles]
AFTER INSERT
AS
declare @cnt float
select @cnt = count(filename) from mfiles
IF @cnt > 0 and @cnt is not null
BEGIN
begin tran
insert mfilesstat select @cnt,((select max(added) from mfiles)-(select min(added) from mfiles)),(@cnt/datediff(mi,0,((select max(added) from mfiles)-(select min(added) from mfiles)))) from mfiles
if @@error=0
BEGIN
commit tran
end
else
begin
rollback tran
end
END
Det går att spara den, men när jag ska lägga in något i mfiles tabellen så får jag felet "Divide by zero error encountered".
Det borde inte hände eftersom jag kollar att @cnt är större än noll.
Och jag dividerar inte någon annanstans.
Tabellerna ser ut såhär.
CREATE TABLE [dbo].[mfiles] (
[filename] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[added] [datetime] NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[mfilesstat] (
[statid] [int] IDENTITY (1, 1) NOT NULL ,
[cnt] [float] NULL ,
[timetaken] [datetime] NULL ,
[enties] [float] NULL
) ON [PRIMARY]
Nån som vet?
mvh
YP