Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

स्टेटमेंट डालें + ट्रिगर में टेबल डेटा और वैरिएबल को मिलाना

आप किसी ट्रिगर को ऐसे नहीं मान सकते जैसे कि वह एक समय में एक पंक्ति को संभालता है। यदि एक बहु-मान खंड या एक नेस्टेड चयन का उपयोग करके सम्मिलित किया जाता है, तो ट्रिगर पूरे ऑपरेशन के लिए एक बार सक्रिय होगा, जिसका अर्थ है कि आप केवल एक ही @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

लेकिन यह सवाल भी पैदा करता है कि हर उपयोगकर्ता के लिए समान निर्देशांक की नकल क्यों करें? क्या यह कुछ ऐसा है जिसे वे अक्सर अपडेट करने जा रहे हैं, आप बस कुछ डिफ़ॉल्ट मान वहां से शुरू करना चाहते हैं?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. द्वारा ऑर्डर करें ... SQL सर्वर में COLLATE

  2. केवल गैर-नल कॉलम पर अद्वितीय बाधा

  3. SSIS पैकेज एक सर्वर पर 500 गुना अधिक समय तक चलता है

  4. SQL सर्वर में मल्टी-स्टेटमेंट टेबल-वैल्यूड फंक्शन्स और इनलाइन टेबल-वैल्यूड फंक्शन्स के बीच अंतर

  5. SQL सर्वर परिकलित स्तंभ किसी अन्य तालिका से चयन करें