16

enter image description hereW SQL Server Management Studio 2014, opcja menu New wyzwalania jest wyłączony

Chcę dodać nowy wyzwalacz do mojego stolika. Jak widać na zdjęciu, przycisk New Trigger nie jest aktywny. nowy indeks, nowa kolumna, nowe ograniczenia, nowa statystyka jest aktywna.

Nie rozumiem, na czym polega problem.

+0

Co się stanie, gdy użyjesz 'Create trigger triggername ...' –

+5

Wygląda to jak sprawdzanie błędów SQL SERVER to https://connect.microsoft.com/SQLServer/feedback/details/873249/ssms-2014-new-trigger- is-disabled-for-older-2012-2008r2-versions-of-sql-server –

Odpowiedz

17

Nie trzeba używać pozycji menu, aby utworzyć wyzwalacz. Po prostu otwórz okno zapytania i wpisz tam instrukcję create trigger.

Aby uzyskać pomoc dotyczącą składni, można użyć fragmentu kodu w edytorze. Kliknij prawym przyciskiem myszy powierzchnię edytora zapytań i wybierz Wstaw fragment, a następnie wybierz Trigger i Create Trigger, aby wstawić poniższy fragment kodu do edytora.

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

Pozycja menu (jeśli masz go do pracy) będzie zrobić prawie to samo tylko będzie korzystać z szablonu, który wygląda tak:

-- ================================================ 
-- 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 
Powiązane problemy