18

在此处输入图像描述

我想在我的表中添加一个新触发器。如图所示,New Trigger 按钮未激活。新索引、新列、新约束、新静态是活动的。

我不明白是什么问题。

4

2 回答 2

20

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

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

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

菜单项(如果你让它工作的话)将做几乎相同的事情,只是它会使用一个看起来像这样的模板:

-- ================================================
-- 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
于 2014-11-11T17:28:17.883 回答
2

这里问了一个类似的问题:SQL Server Express 'NEW TRIGGER' BUTTON IS DISABLED

我希望这可以帮助你!

于 2017-04-12T16:32:34.247 回答