Değiştirme veya dml Tetikleyicileri yeniden adlandırma
Bu konu değiştirme veya yeniden adlandırma dml tetikleyici açıklar SQL Server 2012kullanarak SQL Server Management Studioya Transact-SQL.
Bu Konuda
Başlamadan Önce
Sınırlamalar ve Kısıtlamalar
Öneriler
Güvenlik
Değiştirme veya yeniden adlandırma bir dml tetikleyici, kullanarak:
SQL Server Management Studio
Transact-SQL
Başlamadan Önce
Sınırlamalar ve Kısıtlamalar
- Tetikleyiciyi yeniden adlandırma, tetikleyici geçerli veritabanında olmalıdır ve yeni adı için olan kurallara uymalıdır tanımlayıcıları.
Öneriler
Biz değil kullanmanızı öneririz sp_rename saklı yordamı, tetikleyici yeniden adlandırmak için. Bir nesne adının bir kısmını değiştirme, komut dosyaları ve depolanmış yordamları zarar verebilir. Tetikleyiciyi yeniden adlandırma tanımı sütununda karşılık gelen nesne adı değiştirmez sys.sql_modules Katalog görünümü. Siz bırakın öneririz ve yerine tetikleyici yeniden oluşturun.
dml tetikleyici tarafından başvurulan nesne adını değiştirirseniz, metnin yeni adı yansıtır böylece tetiği değiştirmeniz gerekir. Nesneyi yeniden adlandırmadan önce bu nedenle, öncelikle tüm tetikleyiciler tarafından önerilen değişiklik etkilenip etkilenmediğini belirlemek için nesne bağımlılıkları görüntüleme.
dml tetikleyici, kendi tanım şifrelemek için de değiştirilebilir.
Tetikleyici bağımlılıkları görüntülemek için kullanabilirsiniz SQL Server Management Studioya da aşağıdaki işlev ve Katalog görünümler:
Güvenlik
İzinler
Bir dml değiştirmek için tablo veya Görünüm tetikleyici tanımlanmış alter izni tetikleyici gerektirir.
[Top]
SQL Server Management Studio Kullanarak
dml tetikleyici değiştirmek için
İçinde Object Explorer, örneğine bağlanmak Veritabanı Altyapısıve bu örneği genişletin.
Genişletmek istediğiniz veritabanı genişletin tablove değiştirmek istediğiniz tetikleyici içeren tabloyu genişletin.
Genişletme Tetikleyicileri, tetikleyici değiştirmek ve sonra tıklatın sağ Değiştir.
Tetikleyici değiştirmek ve ardından Execute.
dml tetikleyici yeniden adlandırmak için
Tetikleyici silme , yeniden adlandırmak istediğiniz.
Tetikleyici yeniden, yeni adı belirtme.
[Top]
Transact-SQL'i Kullanma
alter TETIKLEYICI kullanarak bir tetikleyici değiştirmek için
Bağlanmak Veritabanı Altyapısı.
Standart çubuğundan tıklatın Yeni sorgu.
Kopyalayıp aşağıdaki örneklerde sorgu. Kullanıcı ekleme veya verileri değiştirmek çalıştığında istemciye kullanıcı tanımlı bir ileti yazdırır bir dml tetikleyici oluşturmak için ilk örnek yürütme SalesPersonQuotaHistorytablosu. Yürütme alter TETIKLEYICI deyimi yalnızca yangın için tetikleyici değiştirmek için INSERTetkinlikleri. İçin güncelleştirmek ya da da bildirmek için bu tabloya satırlar ekler kullanıcıya hatırlatır, Bu tetikleyici yararlı olur Compensationbölüm.
USE AdventureWorks2012;
GO
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
CREATE TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);
GO
USE AdventureWorks2012;
GO
ALTER TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
AFTER INSERT
AS RAISERROR ('Notify Compensation', 16, 10);
GO
Tetikleyici drop ve alter TETIKLEYICI kullanarak bir tetikleyici yeniden adlandırmak için
Bağlanmak Veritabanı Altyapısı.
Standart çubuğundan tıklatın Yeni sorgu.
Kopyalama ve aşağıdaki örnek sorgu penceresine yapıştırın ve tıkırtı Execute. Bu örnek kullanım Tetikleyici açılan ve alter TETIKLEYICI yeniden adlandırmak için ifadeleri Sales.bonus_remindertetiği Sales.bonus_reminder_2.
USE AdventureWorks2012;
GO
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
CREATE TRIGGER Sales.bonus_reminder_2
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);
GO
[Top]
Ayrıca bkz.
Başvuru
drop TETIKLEYICI (Transact-sql)
TETIKLEYICI (Transact-sql) etkinleştir
DISABLE TETIKLEYICI (Transact-sql)
alter TETIKLEYICI (Transact-sql)
sys.trigger_events (Transact-sql)
sys.sql_modules (Transact-sql)
sys.assembly_modules (Transact-sql)
sys.server_triggers (Transact-sql)
sys.server_trigger_events (Transact-sql)
sys.server_sql_modules (Transact-sql)
sys.server_assembly_modules (Transact-sql)