Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да премахнете или изтриете всички тригери от база данни в SQL Server

Понякога имаме изискване да изтрием/отпуснем всички тригери от база данни на SQL Server. Кодът по-долу може да се използва за премахване на всички тригери във всички таблици, които сте създали в база данни на SQL Server. Преди да продължите и да стартирате този скрипт, моля, уверете се, че сте избрали правилната база данни и сървър, тъй като той ще изтрие всички тригери от избраната база данни на SQL Server.



USE [ База данни]
GO
ДЕКЛАРИРАЙТЕ @TriggerName КАТО VARCHAR(500)
-- Пуснете или изтрийте всички тригери в база данни в SQL Server
ДЕКЛАРИРАЙТЕ DropTrigger КУСОР ЗА
ИЗБЕРЕТЕ TRG .name КАТО TriggerName
ОТ sys.triggers TRG
INNER JOIN sys.tables TBL
ON TBL.OBJECT_ID =TRG.parent_id
ОТВОРЕТЕ DropTrigger
ИЗВЛЕЧИ СЛЕДВАЩО ОТ DropTrigger INTO @TriggerName
WHILE @@FETCH_STATUS =0
BEGIN
ДЕКЛАРИРАНЕ на @SQL VARCHAR(MAX)=NULL
SET @SQL='Drop Trigger ' + @TriggerName
PRINT 'Trigger ::' + @TriggerName
+ ' Droped Successfully'
EXEC (@SQL)
PRINT @SQL
ИЗВЛЕЧИ СЛЕДВАЩО ОТ DropTrigger В @TriggerName
END
ЗАТВОРИ DropTrigger
ОТМЕНИ DropTrigger




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразувайте UTC милисекунди в DATETIME в SQL сървър

  2. Използвайте DATABASEPROPERTYEX(), за да върнете настройките на базата данни в SQL Server

  3. Намерете последния ред в групата чрез query-SQL Server

  4. Разгледайте причините и решенията за повреда в базата данни на SQL Server

  5. SQL Server - обединете редовете в списък, разделен със запетая