2009-05-08 9 views
0

Vous pouvez obtenir une liste des bases de données en utilisantComment lister toutes les tables ou seulement ceux d'une base de données

PRAGMA database_list 

ou une liste de tables dans la base de données « principale » à l'aide

select name from sqlite_master where type='table' 

mais Comme je viens de l'écrire, il ne renvoie que les tables de la base de données "principale", et je ne vois pas de moyen de savoir quelles tables sont dans les autres DB.

Alors, comment lister les tables dans les autres DB (qui ont été attachés plus tard)?

Merci, --DD

PS: Je peux penser à un travail autour de la création d'un * sqlite pour chaque DB répertorié par le database_list pragma, et les faire le « sélectionner le nom de sqlite_master où type = » table '"N fois sur ceux (puisque chacun est le" principal "maintenant), mais cela ressemble à quelque chose qui devrait être possible sans recourir à la contourner, non ???

Répondre

0

Ah ah, a trouvé la réponse en regardant la réponse pour How do I open an in-memory database file into sqlite3

Comme il y a un sqlite_master par DB, tout ce que je dois faire est préfixe sqlite_master avec « DB_NAME. » où DB_name correspond à la colonne name retournée par PRAGMA database_list.

Questions connexes