實作 DDL 觸發程序

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

本主題提供資訊以協助您建立 DDL 觸發程式、修改 DDL 觸發程式並停用或卸除 DDL 觸發程式。

建立 DDL 觸發程序

您可以使用 DDL 觸發程序的 Transact-SQL CREATE TRIGGER 陳述式,建立 DDL 觸發程序。

建立 DDL 觸發程序

重要

從觸發程序傳回結果集的能力將會在未來版本的 SQL Server 中移除。 傳回結果集的觸發程序可能會導致非專用的應用程式發生非預期的行為。 請在新的開發工作中避免從觸發程序傳回結果集,並計畫修改目前如此運作的應用程式。 若要避免觸發程序在 SQL Server 中傳回結果集,請將不允許來自觸發程序的結果選項設為 1。 在未來的 SQL Server 版本中,這個選項的預設值將會是 1。

修改 DDL 觸發程序

如果您必須修改 DDL 觸發程序的定義,您可以卸除觸發程序後重新加以建立,或是在單一步驟中重新定義現有的觸發程序。

如果您變更 DDL 觸發程序所參考的物件名稱,就必須修改觸發程序使其文字反映新名稱。 因此,在改變物件名稱時,首先要檢視此物件的相依性以判斷是否有相關的觸發程序受到影響。

您也可以將觸發程序的定義修改為加密的形態。

修改觸發程序

檢視觸發程序的相依性

停用和卸除 DDL 觸發程序

不再需要 DDL 觸發程序時,可以將它停用或刪除。

停用 DDL 觸發程序不會將它卸除。 該觸發程序仍然會以物件形式存在於目前的資料庫中。 不過,只要以程式方式編寫觸發程序的任何 Transact-SQL 陳述式執行時,該觸發程序就不會引發。 已停用的 DDL 觸發程序可重新啟用。 啟用 DDL 觸發程序會讓它以原先建立時相同的方式引發。 建立 DDL 觸發程序時,預設是啟用的。

刪除 DDL 觸發程序時,會從目前的資料庫卸除。 DDL 觸發程序所參考的任何物件或資料都不會受到影響。

停用 DDL 觸發程序

啟用 DDL 觸發程序

刪除 DDL 觸發程序