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

क्रिएट व्यू कॉलम की तुलना में अधिक कॉलम नाम निर्दिष्ट करता है

सरल उदाहरण पर विचार करें:

postgres=# create function foofunc() returns table(a int, b text) language sql as $$ select 1, 'a'::text $$;
postgres=# select foofunc();
╔═════════╗
║ foofunc ║
╠═════════╣
║ (1,a)   ║
╚═════════╝

जब कॉलम/वेरिएबल संदर्भ में कॉल किया जाता है तो यह निर्दिष्ट रिटर्निंग प्रकार का एकल मान देता है। यहाँ त्रुटि का स्रोत है:दृश्य का select केवल एक कॉलम लौटाता है।

हालाँकि यदि फ़ंक्शन को तालिका संदर्भ में कहा जाता है तो यह एक वास्तविक तालिका की तरह मान लौटाता है:

postgres=# select * from foofunc();
╔═══╤═══╗
║ a │ b ║
╠═══╪═══╣
║ 1 │ a ║
╚═══╧═══╝

तो जब आप दृश्य बनाते हैं तो आपको दूसरे दृष्टिकोण का उपयोग करना चाहिए:

CREATE VIEW v1 (c1, c2, c3, c4, c5) AS
  SELECT * FROM f1 (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. psql पोस्टग्रेज में एक उपयोगकर्ता के रूप में डिफ़ॉल्ट स्टेटमेंट_टाइमआउट सेट करता है

  2. पीजी नोडज पैकेज का परिणाम 'टाइप जोंस के लिए अमान्य इनपुट सिंटैक्स' है

  3. खोज के निकट जियोकोडर को गति देने के लिए अनुक्रमणिका जोड़ें

  4. उसकेोकू में नोड/सेक्वेलिज़ ऐप को तैनात करना - पोर्ट के साथ समस्या

  5. PostgreSQL, नुस्खा द्वारा सामग्री की गणना के लिए जटिल क्वेरी