あなたがこれを理解できるなら、あなたは真のSQLの達人です!それは私が今まで見た中で最も奇妙なものの一つです。トリガーはどのように削除されましたか?
データベースのテーブルにトリガーを追加しました。サーバーはSQL 2008です。トリガーは特にトリッキーなことはしません。特定のフィールドが変更されたときにテーブルのLastUpdatedフィールドを変更するだけです。これは「更新後」トリガーです。
このデータベースに対してあらゆる種類の膨大なクエリを実行する大規模なC++レガシーアプリケーションがあります。どういうわけか(私は、このトリガーを削除しているかどうか全く分かりません)。他のトリガーは削除されず、トリガーやテーブルを明示的に削除していないことが確かです。このアプリの開発者は私のトリガーについて何も知らない。
これはどのように可能ですか?
SQL Server Profilerを使用してトレースを実行しようとしましたが、SQL Management Studioを使用して送信および実行する各コマンドを実行しましたが、トリガーには影響しません。私はアプリを実行するときに発生するように見えます。 WTF :(
UPDATE:
申し訳ありませんが、私はあなたの時間を無駄にしたくない、私はちょうど私がトリガの名前を変更した場合、それは削除されませんのでさらに私はトリガーを変更した場合に実現。他のデベロッパーが明示的に削除しているとしか思えませんが、私はトリガー名のトレースを検索しましたが、そこにはありません。そして、彼らが言うことを見るの提案をありがとう
UPDATE 2:。。
他の開発者が、彼らはそれを元に削除されていないことを数えます明白に。 sys.objectsやsys.triggersには存在しないので、SSMSの不具合ではありません。私はあなたの名前を聞いたことがありますか?私はあなたの名前を聞いたことがありますか?それは完全に削除されていますまた、問題は実際のトリガーの内容に関連していません私が述べたように、私は内容を削除し、何もしない非常に単純なコードで置き換え、それでもそれは削除されます。
表中のMERGEコマンドを使用して乾杯
マークが
トリガーが自動的に削除される唯一のものではないようです:http://stackoverflow.com/questions/2954635/mysql-trigger-gets-deleted-automatically – Fortega
トリガーを削除しているかのように見えますか?トリガはすべての状況で発射/作動していませんか?後者の場合、私たちはおそらくトリガーの本体を見る必要があるでしょう(しかし、私の推測は、挿入/削除された単一の行を引き受けるトリガーになるでしょう) –
@Fortega:それはMySQL用です – gbn