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

लेन-देन द्वारा सम्मिलित पंक्तियों की संख्या कैसे प्राप्त करें

@@ROWCOUNT अंतिम . से प्रभावित पंक्तियों की संख्या देगा SQL कथन, विचाराधीन कमांड के बाद इसे स्थानीय चर में कैप्चर करना सबसे अच्छा है, क्योंकि अगली बार जब आप इसे देखेंगे तो इसका मान बदल जाएगा:

DECLARE @Rows int
DECLARE @TestTable table (col1 int, col2 int)
INSERT INTO @TestTable (col1, col2) select 1,2 union select 3,4
SELECT @[email protected]@ROWCOUNT
SELECT @Rows AS Rows,@@ROWCOUNT AS [ROWCOUNT]

आउटपुट:

(2 row(s) affected)
Rows        ROWCOUNT
----------- -----------
2           1

(1 row(s) affected)

आपको Rows मिलती है 2 का मान, सम्मिलित पंक्तियों की संख्या, लेकिन ROWCOUNT 1 है क्योंकि SELECT @[email protected]@ROWCOUNT कमांड ने 1 पंक्ति को प्रभावित किया

यदि आपके लेन-देन में कई INSERTs या UPDATEs आदि हैं, तो आपको यह निर्धारित करने की आवश्यकता है कि आप कैसे "गिनती" करना चाहते हैं कि क्या हो रहा है। आपके पास प्रत्येक तालिका के लिए एक अलग कुल, एक भव्य कुल मूल्य, या कुछ पूरी तरह से अलग हो सकता है। आपको उस प्रत्येक कुल के लिए एक चर घोषित करना होगा जिसे आप ट्रैक करना चाहते हैं और उस पर लागू होने वाले प्रत्येक ऑपरेशन के बाद उसमें जोड़ना होगा:

--note there is no error handling here, as this is a simple example
DECLARE @AppleTotal  int
DECLARE @PeachTotal  int

SELECT @AppleTotal=0,@PeachTotal=0

BEGIN TRANSACTION

INSERT INTO Apple (col1, col2) Select col1,col2 from xyz where ...
SET @[email protected][email protected]@ROWCOUNT

INSERT INTO Apple (col1, col2) Select col1,col2 from abc where ...
SET @[email protected][email protected]@ROWCOUNT

INSERT INTO Peach (col1, col2) Select col1,col2 from xyz where ...
SET @[email protected][email protected]@ROWCOUNT

INSERT INTO Peach (col1, col2) Select col1,col2 from abc where ...
SET @[email protected][email protected]@ROWCOUNT

COMMIT

SELECT @AppleTotal AS AppleTotal, @PeachTotal AS PeachTotal


  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 सर्वर कितना स्वस्थ है? सक्रिय डेटाबेस निगरानी महत्वपूर्ण है

  2. निर्दिष्ट कास्ट सी # का उपयोग कर वैध त्रुटि नहीं है

  3. एक दृश्य पर चयन अनुमति दें, लेकिन अंतर्निहित वस्तुओं पर नहीं

  4. एक्सेल में मूल्यों से एसक्यूएल तालिका अद्यतन करें

  5. SQL सर्वर 2014 के लिए एक प्रोसेसर का चयन करना - भाग 2