|
Получение полной метамодели
|
|||
---|---|---|---|
#18+
Жизнь столкнула меня с SQLite, раньше с ним не работал посему обращаюсь к сообществу. Суть вопроса: как получить полную метамодель (то есть таблицы, поля, типы данных, дефолты)? SELECT * FROM sqlite_master - понятно, возвращает таблицы (не только, но сейчас про таблицы) и DDL для их создания (парсить который категорически не хочется). PRAGMA table_info() возвращает информацию о конкретной таблице. По сути мне нужно что-то типа курсора по sqlite_master с вызовом для каждого элемента PRAGMA table_info() и складыванием результатов в какую-нибудь таблицу (например временную). Можно такое сделать? Или есть проще/иначе варианты? И если да, то как? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2011, 16:55 |
|
Получение полной метамодели
|
|||
---|---|---|---|
#18+
Так и нужно делать - проще вариантов нет. Есть иные, как то sqlite3_table_column_metadata и прочие вызовы API. На уровне SQL альтернатив нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2011, 19:51 |
|
Получение полной метамодели
|
|||
---|---|---|---|
#18+
Евгений Фадеев, Что мешает для всех имен таблиц из sqlite_master вызывать PRAGMA table_info()? Есть и другие прагмы, с их помощью можно достаточно полную информацию обо всех объектах БД получить. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2011, 20:11 |
|
Получение полной метамодели
|
|||
---|---|---|---|
#18+
MBGЧто мешает для всех имен таблиц из sqlite_master вызывать PRAGMA table_info()? Есть и другие прагмы, с их помощью можно достаточно полную информацию обо всех объектах БД получить.Мешает отсутствие соответствующих знаний. Насколько я понимаю (возможно неправильно) в SQLite нет курсоров и иных средств императивного программирования. А вопрос, исходно, был именно про то, как это сделать средствами SQL. На клиенте проблем нет (в итоге так и будем делать). Ну и еще один вопрос вдогонку: можно как-то средствами SQL вывести результаты PRAGMA в таблицу? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2011, 14:04 |
|
|
start [/forum/topic.php?fid=54&msg=37320748&tid=2009170]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 154ms |
0 / 0 |