2012-05-02 12 views
5

क्या एसकलाइट डेटाबेस में एक दृश्य (अस्थायी दृश्य नहीं) बनाना संभव है जिसमें अन्य डेटाबेस संलग्न हैं? दृश्य शामिल तालिकाओं के माध्यम से सभी डेटाबेस से डेटा तक पहुंचने में सक्षम होना चाहिए।कई डेटाबेसों में स्क्लाइट दृश्य

उत्तर

7

नहीं है, दृश्य अस्थायी होना चाहिए, अन्यथा कोई त्रुटि हो जाएगा:

sqlite> create view view1 as select * from db2.foo union select * from main.foo; 
Error: view view1 cannot reference objects in database db2 
sqlite> create temp view view1 as select * from db2.foo union select * from main.foo; 
sqlite> select * from view1; 
... 

यह समझ में आता है के बाद से एक अस्थायी दृश्य स्वचालित रूप से बनाया temp डेटाबेस जो केवल मौजूदा प्रक्रिया के लिए मौजूद है का हिस्सा है।

संपादित करें:

आप अस्थायी तालिकाओं और दृश्य (सभी स्वचालित रूप से बनाया temp डेटाबेस में संग्रहित) इस तरह से सूचीबद्ध कर सकते हैं:

sqlite> .headers on 
sqlite> select * from sqlite_temp_master; 
type|name|tbl_name|rootpage|sql 
view|view1|view1|0|CREATE VIEW view1 as select * from db2.foo union select * from main.foo 

विचारों को सूचीबद्ध करने के केवल:

select * from sqlite_temp_master where type='view'; 
+0

क्या इन विचारों की सूची प्राप्त करना संभव है? – Interfector

+0

@ इंटरफेक्टर: हाँ, यह मेरा अपडेट देखें। –

+0

शानदार। भावना का एक टन बनाता है और इसे समझाए जाने के लिए भी धन्यवाद। –

संबंधित मुद्दे