कई रिकॉर्ड अपडेट करें। क्या मैं कर्सर का उपयोग कर सकता हूं?

i have a problem with Update in Ms Sql Server(TSQL)
suppose that i have a table Person with Description and ID fields and inserted 1000 record to this table with this value

  1      Descript1
  2      Descript2
  3      Descript3
  ..       ......
  ..      ......
  1000   Descript1000

रिकॉर्ड के नीचे मैं इस 1000 रिकॉर्ड को कैसे बदल सकता हूं

1   Description1
2    Description2
3     Description3
......
......
1000      Description1000

क्या मुझे कर्सर का उपयोग करना चाहिए? मैंने यह प्रश्न लिखा लेकिन यह काम नहीं करता है

    while @Counter<=1000000
      begin
          update Person set Description='Descripton'+CONVERT(nvarchar(15),@Counter) where ID>=1
     set @[email protected]+1
      end
0
जोड़ा संपादित
विचारों: 1
एक सेट आधारित फैशन में चल रहे प्रश्न अधिक पंक्ति से पंक्ति से तेज़ हैं (उदा। जबकि लूप, कर्सर इत्यादि)।
जोड़ा लेखक Bridge, स्रोत

2 उत्तर

कोई कर्सर आवश्यक नहीं है, बस एक साधारण <�कोड> अपडेट :

update Person
set Description = "Description" + convert(varchar(10), ID)
0
जोड़ा
@ सलाहांजबियन यदि यह काम करता है, तो आपको जवाब स्वीकार करना चाहिए: meta.stackexchange.com/questions/5234/…
जोड़ा लेखक aF., स्रोत
@AaronBertrand वास्तव में, 10 पर्याप्त से अधिक होना चाहिए।
जोड़ा लेखक aF., स्रोत
आपके उत्तर एएफ के लिए बहुत बहुत धन्यवाद
जोड़ा लेखक Salah Sanjabian, स्रोत
कन्वर्ट (वर्कर लंबाई के बिना? मैं इसकी अनुशंसा नहीं करता हूं। sqlblog.com/blogs/aaron_bertrand/archive/2009/10/09/…
जोड़ा लेखक Aaron Bertrand, स्रोत
UPDATE  Person
SET     Discription = SPACE(Z.n)+ Z.Discription
FROM (  SELECT  ID, 
                Description , 
                ROW_NUMBER() OVER (ORDER BY ID)n
        FROM Person
    )Z
0
जोड़ा
आपके उत्तर के लिए धन्यवाद mehdi lotfi (मैमन अन्हा मेहदी)
जोड़ा लेखक Salah Sanjabian, स्रोत