SQL Serverでテーブルのトリガーを作成しましたが、うまくいきました。
私の問題は次のとおりです。それを見つけて変更するにはどうすればよいですか?
このクエリを使用して、トリガーを見つけます。
select * from sys.triggers
これはすべてのトリガーを見つけますが、それを開いてトリガーを変更する方法は?
SQL Serverでテーブルのトリガーを作成しましたが、うまくいきました。
私の問題は次のとおりです。それを見つけて変更するにはどうすればよいですか?
このクエリを使用して、トリガーを見つけます。
select * from sys.triggers
これはすべてのトリガーを見つけますが、それを開いてトリガーを変更する方法は?
これは、SSMS を使用して簡単に実行できます。テーブル名に移動し、[トリガー] ノードを展開して、そのテーブルに関連付けられているトリガーのリストを表示します。右クリックしてトリガーを変更します。
select so.name, text
from sysobjects so, syscomments sc
where type = 'TR'
and so.id = sc.id
and text like '%YourTableName%'
このようにして、特定のテーブルに関連付けられているすべてのトリガーを一覧表示できます。
これは役に立つかもしれません
SELECT
t.name AS TableName,
tr.name AS TriggerName
FROM sys.triggers tr
INNER JOIN sys.tables t ON t.object_id = tr.parent_id
WHERE
t.name in ('TABLE_NAME(S)_GOES_HERE');
このように、テーブルの名前をプラグインするだけで、クエリは必要なすべてのトリガーを取得します
select m.definition from sys.all_sql_modules m inner join sys.triggers t
on m.object_id = t.object_id
ここでは、定義をコピーしてトリガーを変更するだけです。
それ以外の場合は、SSMS に移動して DB を展開し、Programmability で Database Triggeres を展開し、特定のトリガーを右クリックして [変更] をクリックし、変更することもできます。
通り抜ける
テーブル名とテーブルのスキーマを使用して、SQL Server データベース内のすべてのトリガーを一覧表示する必要があります
この URL には、特定のテーブルに関連付けられたトリガーのリストを取得できる一連のクエリがあります。
変更トリガーを取得する手順は次のとおりです。
トリガーを変更するには
サーバー グループを展開してから、サーバーを展開します。
[データベース] を展開し、トリガーを含むテーブルが属するデータベースを展開して、[テーブル] をクリックします。
詳細ウィンドウで、トリガーが存在するテーブルを右クリックし、[すべてのタスク] をポイントして、[トリガーの管理] をクリックします。
[名前] で、トリガーの名前を選択します。
必要に応じて、[テキスト] フィールドでトリガーのテキストを変更します。Ctrl + Tab キーを押して、SQL Server Enterprise Manager トリガーのテキストをインデントします。
トリガーの構文を確認するには、[構文の確認] をクリックします。
以下の非常に単純なクエリ
select (select [name] from sys.tables where [object_id] = tr.parent_id ) as TableName ,* from sys.triggers tr