0
私は、アナリストがプライマリキーなしでテーブルを作成できないようにしようとしています。私はデータベースレベルのトリガを作成する方法を知っています、そして、私はテーブルがプライマリキーを持っているかどうかを見つけるためにクエリする方法を知っていますが、私はSQL Serverが ' ON INSERT/ON UPDATEトリガーで使用される '/' updated 'テーブルを挿入しました。 SQL Serverは、この「を作成」テーブルを持っていた場合データベースレベルプライマリキーのないテーブルの作成を防ぐためのテーブル作成のトリガー
仮に、私のトリガーは次のようになります。主キーの重要性について、アナリストを指示する
CREATE TRIGGER PKViolations
ON DATABASE
FOR CREATE_TABLE
AS
IF EXISTS (SELECT 1
FROM Created
WHERE OBJECTPROPERTY(OBJECT_ID,'TableHasPrimaryKey') = 0)
BEGIN
PRINT 'Please include a Primary Key. Transaction has been rolled back.'
ROLLBACK;
END
を支援してきましたが、テーブルはまだPKをせずに作成されていますどんな洞察も大いにありがとう!
うわー、これは私が探していたまさにです:https://docs.microsoft.com/en-us/sql/t-sql/functions/eventdata-transact-sql
はここで完全に機能する例です。本当にありがとう! – bcoakley
これがうまくいく場合は、これを答えとしてマークすることを検討する必要があります。 –
ありがとう、Sean。私はすでにそれをやっていないために謝罪します - 私はまだオーバーフローを積み重ねる非常に新しいユーザーです、それでもハングアップしています! – bcoakley