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

Postgresql - रेनंबर कॉलम

सावधानी:

यह तभी समझ में आता है जब ac_n_circ है नहीं प्राथमिक कुंजी कॉलम।

यदि आप सुनिश्चित हैं कि आपको इसकी आवश्यकता है (क्या आप वास्तव में हैं?), तो निम्न की तरह कुछ काम करना चाहिए:

with new_numbers as  (
   select row_number() over (order by ac_n_circ) as new_nr,
          ac_n_circ, 
          id
   from foo
) 
update foo
   set ac_n_circ = nn.new_nr
from new_numbers nn 
 where nn.id = foo.id;

वैकल्पिक रूप से:

update foo 
  set ac_n_circ = nn.new_number
from (
   select id, 
          ac_n_circ,
          row_number() over (order by ac_n_circ) as new_number
   from foo
) nn
where nn.id = foo.id;

दोनों कथन मानते हैं कि id . नामक एक प्राथमिक कुंजी कॉलम है ।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उच्च उपलब्धता के लिए PostgreSQL के लिए Percona वितरण कैसे परिनियोजित करें

  2. n समूहीकृत श्रेणियां प्राप्त करें और दूसरों को एक में जोड़ें

  3. प्राथमिक कुंजी उल्लंघन त्रुटि के बाद लेनदेन जारी रखना

  4. ग्रह संरेखण

  5. PostgreSQL क्लाउड वेंडर लॉक-इन से कैसे बचें