我想访问Sqlite中任何特定表的所有特定视图.我知道我可以使用sqlite_master获取数据库中所有可用表的列表
SELECT name from sqlite_master WHERE type='table';
以及使用的所有可用视图的列表
SELECT name from sqlite_master WHERE type ='view';
但我想找到特定表的所有可用视图.我怎么做 ?
无需使用extension-functions.c; 只需使用“ LIKE”运算符即可:
SELECT name FROM sqlite_master WHERE type = 'view' and sql LIKE "%_tablename_%";
当然,如果您的表名包含其他表名作为子字符串,或者是常见的SQL保留字(例如“ here”或“ rom”)的子字符串,则将得到错误的匹配。您可以通过以下方法消除后者:
SELECT name FROM sqlite_master WHERE type = 'view' AND sql LIKE "% FROM %tablename% WHERE %";
提供您要查找的视图以符合典型模型。