In SQL Server Management Studio 2014, the New Trigger menu option is disabled

pak picture pak · Nov 11, 2014 · Viewed 10.9k times · Source

enter image description here

I want to add a new trigger to my table. As seen in the picture, New Trigger button is not active. new index, new column, new contraints, new statics is active.

I do not understand what is the problem.

Answer

Mikael Eriksson picture Mikael Eriksson · Nov 11, 2014

You don't need to use the menu item to create a trigger. Just open up a query window and write the create trigger statement there.

To get some help with the syntax you can use a snippet in the editor. Right click on the surface of the query editor and select Insert Snippet and then select Trigger and Create Trigger to get the following code snippet inserted to your editor.

CREATE TRIGGER TriggerName
    ON [dbo].[TableName]
    FOR DELETE, INSERT, UPDATE
    AS
    BEGIN
    SET NOCOUNT ON
    END

The menu item (if you get it to work) will do almost the same thing only it will use a template that looks like this:

-- ================================================
-- Template generated from Template Explorer using:
-- Create Trigger (New Menu).SQL
--
-- Use the Specify Values for Template Parameters 
-- command (Ctrl-Shift-M) to fill in the parameter 
-- values below.
--
-- See additional Create Trigger templates for more
-- examples of different Trigger statements.
--
-- This block of comments will not be included in
-- the definition of the function.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:      <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE TRIGGER <Schema_Name, sysname, Schema_Name>.<Trigger_Name, sysname, Trigger_Name> 
   ON  <Schema_Name, sysname, Schema_Name>.<Table_Name, sysname, Table_Name> 
   AFTER <Data_Modification_Statements, , INSERT,DELETE,UPDATE>
AS 
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for trigger here

END
GO