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

पोस्टग्रेएसक्यूएल 9.3 . में गतिशील तालिका का नाम

कृपया ऐसा न करें - पहले विकल्पों पर ध्यान दें, से शुरू करें। विभाजन और बाधा बहिष्करण

यदि आपको डायनेमिक टेबल नामों का उपयोग करना है, तो इसे क्वेरी जनरेशन के दौरान एप्लिकेशन स्तर पर करें।

यदि अन्य सभी विफल हो जाते हैं तो आप PL/PgSQL प्रक्रिया का उपयोग कर सकते हैं जैसे:

CREATE OR REPLACE pleasedont(int year) RETURNS TABLE basetable AS $$
BEGIN
    RETURN QUERY EXECUTE format('SELECT col1, col2, col3 FROM %I', 'basetable_'||year);
END;
$$ LANGUAGE plpgsql;

यह केवल तभी काम करेगा जब आपके पास एक बेस टेबल हो जिसमें सब-टेबल के समान संरचना हो। जब आप क्वालिफायर (जहां क्लॉज की कमी, आदि) जोड़ना शुरू करते हैं, तो इसके साथ काम करना भी वास्तव में दर्दनाक होता है, और यह किसी भी तरह के प्लान कैशिंग या प्रभावी तैयार स्टेटमेंट के उपयोग को रोकता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PhpPgAdmin के साथ PostgreSQL डेटाबेस निर्यात करना

  2. जब खोज प्रपत्र से WHERE क्लॉज गतिशील रूप से बनाया गया हो तो SQL इंजेक्शन से कैसे बचाव करें?

  3. क्या यह प्रदर्शन को प्रभावित करता है, यदि किसी तालिका में बहुत सारे अप्रयुक्त/अचयनित कॉलम हैं?

  4. उच्च उपलब्धता के लिए PostgreSQL को कैसे परिनियोजित करें

  5. ट्रिगर फ़ंक्शंस में वैरिएबल सेटिंग्स का उपयोग कैसे करें?