Sql server 2008 SQL Server 2008使用触发器同步2个表

Sql server 2008 SQL Server 2008使用触发器同步2个表,sql-server-2008,triggers,multiple-records,Sql Server 2008,Triggers,Multiple Records,我不熟悉SQL Server触发器 我有两个表,一个主表和一个从表,主表位于多个列上 我需要在第一个表上创建一个触发器,以便同步第二个表。我可以用哪种方式管理主键列上多行的更新 我的桌子是: CREATE TABLE [dbo].[Seasons] ( [Entity] [nvarchar](4) NOT NULL, [Code] [nvarchar](5) NOT NULL, [Description] [nvarchar](50) NULL, CONSTRA

我不熟悉SQL Server触发器

我有两个表,一个主表和一个从表,主表位于多个列上

我需要在第一个表上创建一个触发器,以便同步第二个表。我可以用哪种方式管理主键列上多行的更新

我的桌子是:

CREATE TABLE [dbo].[Seasons]
(
    [Entity] [nvarchar](4) NOT NULL,
    [Code] [nvarchar](5) NOT NULL,
    [Description] [nvarchar](50) NULL,

    CONSTRAINT [PK_Seasons] 
    PRIMARY KEY CLUSTERED ([Entity] ASC, [Code] ASC)
        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, 
              IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, 
              ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 10) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[Seasons2]
(
    [Entity] [nvarchar](4) NOT NULL,
    [Code] [nvarchar](5) NOT NULL,
    [Description] [nvarchar](50) NULL,

    CONSTRAINT [PK_Seasons2] 
    PRIMARY KEY CLUSTERED ([Entity] ASC, [Code] ASC)
       WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, 
             IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, 
             ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 10) ON [PRIMARY]
) ON [PRIMARY]

INSERT INTO [Seasons] VALUES ('XX','11','Test')
INSERT INTO [Seasons] VALUES ('XX','22','Test')
INSERT INTO [Seasons] VALUES ('XX','33','Test')

UPDATE [Seasons] 
SET Entity = 'YY'
在最坏的情况下,我可以迭代插入和删除的表吗?这些桌子的顺序是一样的吗


多谢各位

事实上,您有一个主键,显然是为改变,使它几乎不可能写一个更新触发器。。。。。。无论如何,这通常是个坏主意。。。。我建议你改变你的设计-如果实体和代码真的可以改变-不要把它们当作PK使用-使用一个INT标识作为你的PK而不是你的建议!不幸的是,我没有设计数据库,我无法更改表结构。是否可以同时迭代插入和删除的表并比较记录?这两张桌子的顺序相同吗?例如,在已删除表的第三行的前一个值中插入表的第三行?甚至不要考虑迭代!!!这在关系数据库中非常糟糕,在触发器中最糟糕!!这些表中没有顺序-您必须能够通过主键识别行-这是唯一可靠的方法!!