Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Sisipkan Pernyataan + Menggabungkan data tabel dan variabel dalam pemicu

Anda tidak dapat memperlakukan pemicu seolah-olah itu menangani satu baris dalam satu waktu. Jika penyisipan terjadi menggunakan klausa multi-nilai atau pemilihan bersarang, pemicu akan diaktifkan sekali untuk seluruh operasi, artinya Anda hanya akan menangani satu @UserID arbitrer.

Di sini saya berasumsi bahwa tabel PlaneGPSCoordinates Anda memiliki tepat 5 baris, dan itu adalah koordinat yang didapat setiap pengguna baru.

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

Tapi ini menimbulkan pertanyaan, mengapa menyalin koordinat yang sama untuk setiap pengguna? Apakah ini sesuatu yang akan sering mereka perbarui, Anda hanya ingin meletakkan beberapa nilai default di sana untuk memulai?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RAND() Contoh di SQL Server

  2. Dapatkan catatan terbaru yang diperbarui

  3. Lewati tabel sebagai parameter ke SQLCLR TV-UDF

  4. Cara membuat Tanggal di SQL Server dengan Hari, Bulan, dan Tahun sebagai Bilangan Bulat

  5. cara membuat data Anda horizontal