Часто модульные тесты основаны на фиктивном объекте или дразнят данные. Мне нравится писать три вида модульных тестов:
точка должна постараться не воспроизводить все , чтобы быть в состоянии протестировать каждый функции.
Используйте Функция charindex
в extension-functions.c для поиска в столбце Sql в sqlite_master
имени вашей таблицы.
extension-functions.c (см. нижнюю часть ] this page ) - это пользовательский модуль, который предоставляет математические функции и функции расширения строк для SQL-запросов с использованием механизма загружаемых расширений.
Ваш окончательный запрос должен выглядеть примерно так (не проверено):
SELECT name from sqlite_master
WHERE type ='view' AND charindex(Sql, "tableName") > 0;
Нет необходимости использовать extension-functions.c; просто используйте оператор «LIKE»:
SELECT name FROM sqlite_master WHERE type = 'view' and sql LIKE "%_tablename_%";
Вы получите ложные совпадения, конечно, если у вас есть имена таблиц, которые содержат другие имена таблиц в качестве подстрок, или которые являются подстроками общих зарезервированных слов SQL (например, «здесь» или «ром "). Вы можете устранить последнее, выполнив следующие действия:
SELECT name FROM sqlite_master WHERE type = 'view' AND sql LIKE "% FROM %tablename% WHERE %";
предоставив представления, которые вы пытаетесь найти, соответствуют типичной модели.