आप किसी ट्रिगर को ऐसे नहीं मान सकते जैसे कि वह एक समय में एक पंक्ति को संभालता है। यदि एक बहु-मान खंड या एक नेस्टेड चयन का उपयोग करके सम्मिलित किया जाता है, तो ट्रिगर पूरे ऑपरेशन के लिए एक बार सक्रिय होगा, जिसका अर्थ है कि आप केवल एक ही @UserID को संभालेंगे।
यहाँ मुझे लगता है कि आपकी PlaneGPSC निर्देशांक तालिका में ठीक 5 पंक्तियाँ हैं, और यह कि वे निर्देशांक हैं जो हर नए उपयोगकर्ता को मिलते हैं।
CREATE TRIGGER dbo.Matching
ON dbo.UserInfo
FOR INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT dbo.MatchingInformation(GPS1, GPS2, UserID)
SELECT p.GPS1, p.GPS2, i.UserID
FROM dbo.PlaneGPSCoordinates AS p
CROSS JOIN inserted AS i;
END
GO
लेकिन यह सवाल भी पैदा करता है कि हर उपयोगकर्ता के लिए समान निर्देशांक की नकल क्यों करें? क्या यह कुछ ऐसा है जिसे वे अक्सर अपडेट करने जा रहे हैं, आप बस कुछ डिफ़ॉल्ट मान वहां से शुरू करना चाहते हैं?