sql >> Databáze >  >> RDS >> Sqlserver

Existuje způsob, jak zakázat spouštěč SQL Server pouze pro určitý rozsah provádění?

Právě jsem viděl tento článek nedávno zvýrazněný v bulletinu SQL Server Central a zdá se, že nabízí způsob, který by vám mohl být užitečný pomocí Context_Info o připojení:

http://www.mssqltips.com/tip.asp?tip=1591

EDIT od Terrapina:

Výše uvedený odkaz obsahuje následující kód:

USE AdventureWorks;  
GO  
-- creating the table in AdventureWorks database  
IF OBJECT_ID('dbo.Table1') IS NOT NULL  
DROP TABLE dbo.Table1  
GO  
CREATE TABLE dbo.Table1(ID INT)  
GO   
-- Creating a trigger  
CREATE TRIGGER TR_Test ON dbo.Table1 FOR INSERT,UPDATE,DELETE  
AS  
DECLARE @Cinfo VARBINARY(128)  
SELECT @Cinfo = Context_Info()  
IF @Cinfo = 0x55555  
RETURN  
PRINT 'Trigger Executed'  
-- Actual code goes here  
-- For simplicity, I did not include any code  
GO  

Pokud chcete zabránit spuštění spouštěče, můžete provést následující:

SET Context_Info 0x55555 
INSERT dbo.Table1 VALUES(100)


  1. VYBERTE více řádků, KDE odpovídají dvěma podmínkám

  2. Převeďte datum a čas MySQL na časové razítko

  3. mysql swap položky s číslem řádku

  4. Kde A=1 AND A=2 vrátí problém s 0 řádky - (Krátká otázka Mysql)