トリガには、実際に変数としてリストする必要がある値をハードコードするときに作成されたものが作成されました。コードのように、テーブルtbl_measure_statsにはStatsTriggerがトリガされます。 tbl_measure_statsが変更されると、tbl_activity.override = 0と設定されます.tbl_activity.activityidはtbl_measure_status.actidに等しくなるはずです。トリガーテーブルの値はtbl_activity.activityidのidと等しいtbl_measures_stats.actidです。その値は0に設定する必要があります。54321に関連する変数をどのように記述すればよいですか?コードは、私の説明よりも、実際に簡単です:これはまっすぐ進むソリューションでなければなりませんが、私はすべての私の検索で実用的なものを見つけていないのですようMSSQL 2008トリガ - 変数= 2つのテーブル間の共通の値
USE [TestDB]
GO
/****** OBJECT: Trigger [dbo].[StatsTrigger] ******/
/****** PURPOSE: detect any field changes in tbl_measure_stats ******/
/****** ... then set tbl_activity.override = 0 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
ALTER TRIGGER [dbo].[StatsTrigger] --resides in tbl_measure_stats>Triggers
ON tbl_measure_stats --table which has the trigger
AFTER INSERT,DELETE,UPDATE --when something changes...
AS UPDATE tbl_activity set override = 0 where tbl_activity.activityid = 54321
らしいです。古い、新しい、例えば挿入された...私はそれらを働かせていません。例 "挿入" をしようとしたとき:
AS UPDATE cpy_activity set porc = 0 where cpy_activity.activityid = inserted.actid
はエラーを返します:
The multi-part identifier "inserted.actid" could not be bound.
アイデアを?
私はstackoverflowに依存して謙虚になりました。 cf_enあなたは頭の中でまっすぐに爪を打つ。今、私は統計ページでメジャー値を変更し、トリガーはmssqlで実行され、メジャー値が変更されるたびにオーバーライド値が0に変更されます。私はこれを支払うことができます期待しながら、多くのおかげで! – dcparham