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

पोस्टग्रेज:इसके वर्तमान अधिकतम मान के साथ सभी पूर्णांक कॉलम खोजें

CREATE OR REPLACE FUNCTION intpkmax() RETURNS
   TABLE(schema_name name, table_name name, column_name name, max_value integer)
   LANGUAGE plpgsql STABLE AS
$$BEGIN
   /* loop through tables with a simgle integer column as primary key */
   FOR schema_name, table_name, column_name IN
      SELECT sch.nspname, tab.relname, col.attname
         FROM pg_class tab
            JOIN pg_constraint con ON con.conrelid = tab.oid
            JOIN pg_attribute col ON col.attrelid = tab.oid
            JOIN pg_namespace sch ON sch.oid = tab.relnamespace
         WHERE con.contype = 'p'
            AND array_length(con.conkey, 1) = 1
            AND col.atttypid = 'integer'::regtype
            AND NOT col.attisdropped
   LOOP
      /* get the maximum value of the primary key column */
      EXECUTE 'SELECT max(' || quote_ident(column_name) ||
              ') FROM ' || quote_ident(schema_name) ||
              '.' || quote_ident(table_name) || ''
         INTO max_value;
      /* return the next result */
      RETURN NEXT;
   END LOOP;
END;$$;

फिर आप

. के साथ एक सूची प्राप्त कर सकते हैं
SELECT * FROM intpkmax();



  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. एकाधिक एक ही तालिका में शामिल होते हैं

  4. PostgreSQL में किसी विशेष डेटाबेस के लिए विशेषाधिकार प्रदान करें

  5. पोस्टग्रेस्क्ल कॉपी सीएसवी त्रुटि:अंतिम अपेक्षित कॉलम के बाद अतिरिक्त डेटा