次の問題に対処するトリガーを作成しようとしています。挿入されたテーブルから必要な変数を引き出し、それを別のテーブルのデータと組み合わせて、それを1つとして必要なテーブルに挿入しようとすると、行き詰まります(これは、漠然とした/紛らわしいことですが、我慢してください...)
これが私がデータベースを機能させたい方法です:
データベース内の3つのテーブル:
- テーブルユーザー:
識別番号を含むユーザー情報のテーブル - Table PlaneGPSCoordinates:
ライブGPS座標のテーブル。このテーブルのサイズは変更されず、値が更新されるだけです。 - Table MatchingInformation:
ユーザーID番号と平面座標の2つの列を持つテーブル。
トリガーは次のことを行う必要があります。
- テーブル「ユーザー」に挿入された新しい行(つまり、ユーザーがサインアップ)
- Triggerは、PlaneGPSCoordinates(キー列を除く)のデータと新しいユーザーのID番号を自動的にコピーし、2つをTableMatchingInformationに挿入します。座標の5行ごとに1つのユーザーID番号があります->つまり、トリガーはMatchingInformationに5行を追加します。ここで、userID=新しいユーザーのIDと座標はすべてテーブルPlaneGPSCoordinatesからコピーされます。
現在、私の不完全なコードは次のようになっています。
CREATE TRIGGER dbo.Matching
ON dbo.UserInfo
FOR INSERT
AS
DECLARE @userID as INT
BEGIN
SET NOCOUNT ON;
SELECT @userID = inserted.ID FROM inserted
INSERT....
END
GO
私はSQLに非常に慣れていないので、最悪の事態を想定します。GPS座標を取得し、それをユーザーIDと組み合わせて、それをマッチングテーブルにプッシュするINSERTステートメントを作成する方法がわかりません...
どんな助けでも大歓迎です!