0

次の近似形式でSQLトリガーを作成しようとしています。

CREATE TRIGGER TableABSync ON TableA
FOR INSERT AS

INSERT INTO TableB
        (col1, col2, col3, col4)
    SELECT
        PK_ColA, ColB, ColC - ColD, ColE * TableB.Col3
    FROM inserted

そこで、新しく生成されたCol3を使用してCol4を計算したいと思います。これを段階的に行う必要がありますか?

乾杯

4

2 に答える 2

1

次のようなものを直接使用しないのはなぜですか。

CREATE TRIGGER TableABSync ON TableA
FOR INSERT AS

INSERT INTO TableB
        (col1, col2, col3, col4)
    SELECT
        PK_ColA, ColB, ColC - ColD, ColE *( TableB.ColC - TableB.ColD)
    FROM inserted
于 2012-08-03T10:48:23.270 に答える
0

この問題は、トリガーや挿入とは関係ありません。SELECT同じSELECT句内から句内の計算値を参照することはできません。

多分:

CREATE TRIGGER TableABSync ON TableA
FOR INSERT AS

INSERT INTO TableB
        (col1, col2, col3, col4)
    SELECT
        PK_ColA, ColB, ColC - ColD as Col3, ColE * .Col3
    FROM
       (
          SELECT PK_ColA, ColB, ColC - ColD as Col3,ColE
          FROM inserted
       ) t
于 2012-08-03T10:54:59.827 に答える