48

SQL Serverでテーブルのトリガーを作成しましたが、うまくいきました。

私の問題は次のとおりです。それを見つけて変更するにはどうすればよいですか?

このクエリを使用して、トリガーを見つけます。

select * from sys.triggers

これはすべてのトリガーを見つけますが、それを開いてトリガーを変更する方法は?

4

16 に答える 16

53

これは、SSMS を使用して簡単に実行できます。テーブル名に移動し、[トリガー] ノードを展開して、そのテーブルに関連付けられているトリガーのリストを表示します。右クリックしてトリガーを変更します。 ここに画像の説明を入力

于 2012-09-10T07:28:22.860 に答える
44
select so.name, text
from sysobjects so, syscomments sc
where type = 'TR'
and so.id = sc.id
and text like '%YourTableName%'

このようにして、特定のテーブルに関連付けられているすべてのトリガーを一覧表示できます。

于 2012-09-10T07:29:13.017 に答える
20

これは役に立つかもしれません

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');

このように、テーブルの名前をプラグインするだけで、クエリは必要なすべてのトリガーを取得します

于 2015-07-08T12:34:18.410 に答える
7
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 を展開し、特定のトリガーを右クリックして [変更] をクリックし、変更することもできます。

于 2012-09-10T07:25:53.510 に答える
3

通り抜ける

テーブル名とテーブルのスキーマを使用して、SQL Server データベース内のすべてのトリガーを一覧表示する必要があります

この URL には、特定のテーブルに関連付けられたトリガーのリストを取得できる一連のクエリがあります。

変更トリガーを取得する手順は次のとおりです。

トリガーを変更するには

  1. サーバー グループを展開してから、サーバーを展開します。

  2. [データベース] を展開し、トリガーを含むテーブルが属するデータベースを展開して、[テーブル] をクリックします。

  3. 詳細ウィンドウで、トリガーが存在するテーブルを右クリックし、[すべてのタスク] をポイントして、[トリガーの管理] をクリックします。

  4. [名前] で、トリガーの名前を選択します。

  5. 必要に応じて、[テキスト] フィールドでトリガーのテキストを変更します。Ctrl + Tab キーを押して、SQL Server Enterprise Manager トリガーのテキストをインデントします。

  6. トリガーの構文を確認するには、[構文の確認] をクリックします。

于 2012-09-10T07:29:08.507 に答える
0

以下の非常に単純なクエリ

select (select [name] from  sys.tables where [object_id] = tr.parent_id ) as TableName ,*  from sys.triggers tr
于 2015-04-17T05:58:34.213 に答える