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

पिछली और वर्तमान पंक्तियों के मूल्यों के साथ एक पंक्ति को अद्यतन करने के लिए कर्सर

ठीक है, इसे आजमाएं।

CREATE TABLE MyTable (Id INT Identity, Col2 int, Col3 int)

INSERT INTO MyTable (Col2, Col3)
VALUES (2,1), (3,0), (4,0),(5,0),(6,0)

SELECT * from MyTable

WHILE (SELECT COUNT(*) FROM MyTable WHERE Col3=0) > 0
BEGIN
    UPDATE TOP (1) MyTable
    SET CoL3 = (Mytable.col2 + (select col3 from mytable t2 where (t2.id = mytable.id-1)))
    WHERE Col3 = 0
END

SELECT * from MyTable

एक WHILE का उपयोग करता है लूप जो ज्यादातर परिस्थितियों में कर्सर से तेज होना चाहिए।



  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. Java7 sqljdbc4 - SQL त्रुटि 08S01 getConnection पर ()

  3. SQL सर्वर में sys.sql_modules, sys.system_sql_modules और sys.all_sql_modules के बीच अंतर

  4. तालिका के एक स्तंभ पर तीन शर्तें

  5. वर्चर या नवरचर