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

पहचान मूल्य प्राप्त करने के लिए मैं INSERT कथन के OUTPUT खंड का उपयोग कैसे करूं?

आप या तो नई डाली गई आईडी को SSMS कंसोल में इस तरह आउटपुट कर सकते हैं:

INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')

आप इसे उदा से भी उपयोग कर सकते हैं। सी #, जब आपको आईडी को अपने कॉलिंग ऐप पर वापस लाने की आवश्यकता होती है - बस SQL ​​क्वेरी को .ExecuteScalar() (.ExecuteNonQuery() ) परिणामी ID . को पढ़ने के लिए वापस।

या यदि आपको नई डाली गई ID को कैप्चर करने की आवश्यकता है टी-एसक्यूएल के अंदर (उदाहरण के लिए बाद में आगे की प्रक्रिया के लिए), आपको एक टेबल वेरिएबल बनाने की जरूरत है:

DECLARE @OutputTbl TABLE (ID INT)

INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')

इस तरह, आप कई मानों को @OutputTbl . में डाल सकते हैं और उन पर आगे की प्रक्रिया करें। आप एक "नियमित" अस्थायी तालिका का भी उपयोग कर सकते हैं (#temp ) या यहां तक ​​कि "असली" स्थायी तालिका यहां आपके "आउटपुट लक्ष्य" के रूप में।




  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 सर्वर, Azure SQL डेटाबेस और Amazon RDS के प्रदर्शन को कैसे ट्यून करें

  2. स्तंभ मानों से बिंदु और अल्पविराम निकालें

  3. SQL सर्वर:दो प्रश्नों के साथ UNION का उपयोग कैसे करें जिसमें दोनों का एक खंड है?

  4. Azure पर .NET कोर SQL सर्वर डेटाबेस से कनेक्ट नहीं हो सकता

  5. SQL सर्वर में (nolock) के साथ क्या है?