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

संग्रहीत प्रक्रिया में सम्मिलित \ हटाए गए तालिका का उपयोग कैसे करें?

आप टेबल मान पैरामीटर ट्रिगर्स से डाले गए/हटाए गए मानों को स्टोर करने के लिए, और इसे proc में पास करें। उदाहरण के लिए, यदि आपको अपनी खरीद में केवल UNIQUE FileID's की आवश्यकता है :

CREATE TYPE FileIds AS TABLE
(
    FileId INT
);

-- Create the proc to use the type as a TVP
CREATE PROC commonProc(@FileIds AS FileIds READONLY)
    AS
    BEGIN
        UPDATE at
            SET at.DateVersion = CURRENT_TIMESTAMP
        FROM ATable at
            JOIN @FileIds fi
            ON at.FileID = fi.FileID;
    END

और फिर ट्रिगर से सम्मिलित/हटाए गए आईडी पास करें, जैसे:

CREATE TRIGGER MyTrigger ON SomeTable FOR INSERT
AS
    BEGIN
        DECLARE @FileIds FileIDs;
        INSERT INTO @FileIds(FileID)
            SELECT DISTINCT FileID FROM INSERTED;
        EXEC commonProc @FileIds;
    END;


  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 सर्वर 2008 R2 एकल उपयोगकर्ता मोड में अटक गया

  2. कॉलम नाम के लिए एक पैरामीटर का उपयोग करके ऑर्डर करें

  3. SQL सर्वर में सभी तालिकाओं को खोजकर एक स्ट्रिंग खोजें

  4. माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005 में group_concat MySQL फ़ंक्शन सिम्युलेट कर रहा है?

  5. उन पंक्तियों का चयन करें जहाँ स्तंभ मान बदल गया है