web-dev-qa-db-ja.com

SQL Server Management Studio 2014では、[新しいトリガー]メニューオプションが無効になっています

enter image description here

テーブルに新しいトリガーを追加したいと思います。写真に見られるように、[新規トリガー]ボタンはアクティブではありません。新しいインデックス、新しい列、新しい制約、新しい統計がアクティブです。

何が問題なのかわかりません。

18
pak

トリガーを作成するためにメニュー項目を使用する必要はありません。クエリウィンドウを開いて、そこに create trigger ステートメントを書き込むだけです。

構文のヘルプを取得するには、エディターでスニペットを使用できます。クエリエディターの表面を右クリックし、[スニペットの挿入]を選択してから、[トリガー]と[トリガーの作成]を選択して、次のコードスニペットをエディターに挿入します。

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
20
Mikael Eriksson

同様の質問がここで行われました: SQL Server Express'NEW TRIGGER 'BUTTON IS DISABLED

これがお役に立てば幸いです。

2