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

वस्तुओं के jsonb सरणी में कुंजी मान अपडेट करें

आप इसे jsonb फ़ंक्शन और ऑपरेटर :

UPDATE company c
SET    log = sub.log2
FROM  (
   SELECT *
   FROM   company c
   CROSS  JOIN LATERAL (
      SELECT jsonb_agg(jsonb_set(l, '{oldvalue}', to_jsonb(rtrim(l->>'oldvalue')))) AS log2
      FROM   jsonb_array_elements(c.log) l
      ) sub
   WHERE  jsonb_typeof(log) = 'array'  -- exclude NULL and non-arrays
   ) sub
WHERE  c.code =  sub.code   -- assuming code is unique
AND    c.log  <> sub.log2;  -- only where column actually changed.

SQL Fiddle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका को द्वि-आयामी सरणी में पोस्टग्रेज करता है

  2. लार्वा माइग्रेशन चलाने पर पासवर्ड प्रमाणीकरण विफल त्रुटि

  3. पोस्टग्रेज में json_populate_recordset का उपयोग करके जेसन को कैसे पार्स करें?

  4. विधि org.postgresql.jdbc4.Jdbc4Connection.isValid(int) अभी तक लागू नहीं किया गया है

  5. HAProxy का उपयोग करके अपने PostgreSQL प्रतिकृति सेटअप के लिए एकल समापन बिंदु कैसे बनाएं