sql >> Databáze >  >> RDS >> Sqlserver

Vložit příkaz + Kombinace dat tabulky a proměnné do spouštěče

Nemůžete zacházet se spouštěčem, jako by zpracovával jeden řádek najednou. Pokud k vložení dojde pomocí klauzule s více hodnotami nebo vnořeného výběru, spouštěč se spustí jednou pro celou operaci, což znamená, že budete vždy zpracovávat pouze jedno libovolné @UserID.

Zde předpokládám, že vaše tabulka PlaneGPSCoordinates má přesně 5 řádků a že to jsou souřadnice, které získá každý nový uživatel.

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

To však vyvolává otázku, proč kopírovat stejné souřadnice pro každého uživatele? Je to něco, co budou často aktualizovat, jen tam chcete pro začátek vložit nějaké výchozí hodnoty?




  1. Smazat databázový poštovní profil (SSMS)

  2. Co znamená FixedLenNullInSource v sp_help?

  3. se nepodařilo otevřít stream:Žádný takový soubor nebo adresář v

  4. Jak určit kartu v postgresové front-end COPY