Trigger Code on a table in my ERP Database
- by David Stein
My ERP Vendor has the following trigger on a table: 
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[SOItem_DeleteCheck]
ON [dbo].[soitem]
FOR DELETE
AS 
BEGIN
    DECLARE @RecCnt int, @LogInfo varchar(256)
    SET @RecCnt = (SELECT COUNT(*) FROM deleted)
    IF @RecCnt > 150
    BEGIN
        RAISERROR (54010, 18, 1, 'SOItem') WITH LOG
        ROLLBACK TRANSACTION
    END
    SET @LogInfo = 'Deleting ' + LTRIM(STR(@RecCnt)) + ' Rows From SOItem'
    EXEC LogDeletes @LogInfo
END
GO
This seems very inefficient to me. Doesn't select count(*) take longer than Count(specific field)?