2012-05-02 55 views
5

Có thể tạo chế độ xem VIEW (không phải tạm thời) trong cơ sở dữ liệu Sqlite có các cơ sở dữ liệu khác được đính kèm không? Chế độ xem sẽ có thể truy cập dữ liệu từ tất cả các cơ sở dữ liệu thông qua các bảng đã tham gia.Chế độ xem Sqlite trên nhiều cơ sở dữ liệu

Trả lời

7

Không, quan điểm phải chỉ là tạm thời, nếu không một lỗi sẽ xảy ra:

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; 
... 

này có ý nghĩa từ một quan điểm tạm thời là một phần của tự động tạo ra cơ sở dữ liệu temp mà chỉ tồn tại cho quá trình hiện hành.

EDIT:

Bạn có thể liệt kê các bảng tạm thời và quan điểm (tất cả được lưu trữ trong tự động tạo temp cơ sở dữ liệu) theo cách này:

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 

Để liệt kê xem chỉ:

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

Có thể nhận danh sách các chế độ xem này không? – Interfector

+0

@Interfector: có, xem bản cập nhật của tôi. –

+0

Tuyệt vời. Làm cho một tấn ý nghĩa và cảm ơn cho giải thích nó là tốt. –

Các vấn đề liên quan