Не можете да третирате тригер така, сякаш обработва ред по ред. Ако вмъкването се случи с помощта на клауза с множество стойности или вложен избор, тригерът ще се задейства веднъж за цялата операция, което означава, че ще обработвате само един произволен @UserID.
Тук предполагам, че вашата таблица PlaneGPSCoordinates има точно 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
Но това повдига въпроса защо да копирате едни и същи координати за всеки потребител? Това ли е нещо, което ще актуализират често, просто искате да поставите някои стойности по подразбиране там, за да започнете?