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

पुनरावर्ती SQL कथन (Postgresql) - सरलीकृत संस्करण

परीक्षण सेटअप:

CREATE TEMP TABLE matrix (
    rowindex integer,
    columnindex integer,
    matrixvalue numeric);

INSERT INTO matrix VALUES
 (1,1,2),(1,2,2),(1,3,3),(1,4,3),(1,5,4)
,(2,1,4),(2,2,4),(2,3,5),(2,4,6)
,(3,1,3),(3,2,2),(3,3,2)
,(4,1,2),(4,2,1)
,(5,1,1);

INSERTs को DO . के साथ एक लूप में चलाएं :

DO $$
BEGIN

FOR i IN 2 .. 5 LOOP
   FOR j IN 7-i .. 5 LOOP
      INSERT INTO matrix
      VALUES (i,j, (
         SELECT sum(matrixvalue)/2
         FROM   matrix
         WHERE  (rowindex, columnindex) IN ((i-1, j),(i, j-1))
         ));
   END LOOP;
END LOOP;

END;
$$

परिणाम देखें:

SELECT * FROM matrix order BY 1,2;


  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. Postgres डेटाबेस में एकाधिक स्कीमा पर hstore स्थापित करने का सबसे अच्छा तरीका?

  4. क्या Django SearchVectorField में अपना खुद का तार जोड़ना संभव है?

  5. PostgreSQL त्रुटि 42501:स्कीमा के लिए अनुमति अस्वीकृत