在SQL Server Management Studio 2014中,禁用"新建触发器"菜单选项

pak*_*pak 18 sql-server triggers sql-server-express sql-server-2008-r2 management-studio-express

在此输入图像描述

我想在我的桌子上添加一个新的触发器.如图所示,"新建触发器"按钮未激活.新索引,新列,新约束,新静态是活跃的.

我不明白是什么问题.

Mik*_*son 20

您无需使用菜单项来创建触发器.只需打开一个查询窗口并在那里编写create trigger语句.

要获得语法方面的帮助,您可以在编辑器中使用代码段.右键单击查询编辑器的表面并选择"插入片段",然后选择"触发器"和"创建触发器"以将以下代码段插入编辑器.

CREATE TRIGGER TriggerName
    ON [dbo].[TableName]
    FOR DELETE, INSERT, UPDATE
    AS
    BEGIN
    SET NOCOUNT ON
    END
Run Code Online (Sandbox Code Playgroud)

菜单项(如果你让它工作)将完成几乎相同的事情,它只会使用如下所示的模板:

-- ================================================
-- 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
Run Code Online (Sandbox Code Playgroud)