我想訪問Sqlite中任何特定表的所有特定視圖。我知道我可以使用SQLITE_MASTER如何列出SQLite中特定表的所有可用視圖?
SELECT name from sqlite_master WHERE type='table';
和所有可用的視圖中使用
SELECT name from sqlite_master WHERE type ='view';
列表獲取數據庫中所有可用的表的列表中,但我想找到所有可用的意見一個特定的表格。我怎麼做 ?
我想訪問Sqlite中任何特定表的所有特定視圖。我知道我可以使用SQLITE_MASTER如何列出SQLite中特定表的所有可用視圖?
SELECT name from sqlite_master WHERE type='table';
和所有可用的視圖中使用
SELECT name from sqlite_master WHERE type ='view';
列表獲取數據庫中所有可用的表的列表中,但我想找到所有可用的意見一個特定的表格。我怎麼做 ?
使用extension-functions.c中的charindex
函數在sqlite_master
中搜索Sql列以獲取表的名稱。
伸展functions.c(看的this page底部)是用戶提供的模塊,提供的數學和串擴展函數爲SQL查詢,使用加載擴展機制。
你最終的查詢應該是這個樣子(未測試):
SELECT name from sqlite_master
WHERE type ='view' AND charindex(Sql, "tableName") > 0;
無需使用延長-functions.c;只需使用「LIKE」操作符:
SELECT name FROM sqlite_master WHERE type = 'view' and sql LIKE "%_tablename_%";
你會得到錯誤匹配,當然,如果您有包含其他表名作爲子,或者是常見的SQL保留字子(喜歡這裏」表名「或」rom「)。您可以通過以下方式消除後者:
SELECT name FROM sqlite_master WHERE type = 'view' AND sql LIKE "% FROM %tablename% WHERE %";
提供您正在嘗試查找的視圖符合典型模型。