[Gfoss] SpatiaLite conteggio righe tabelle database

pigreco pigrecoinfinito a gmail.com
Mar 30 Apr 2019 11:51:35 CEST


a.furieri wrote
> SELECT tbl_name,
> eval('SELECT count(*) FROM "' || tbl_name || '"') AS nro_righe
> FROM sqlite_master
> WHERE type = 'table' AND sql NOT LIKE 'CREATE VIRTUAL TABLE %'
> AND name NOT IN (SELECT f_table_name FROM geometry_columns)
> AND name NOT IN (SELECT 'idx_' || f_table_name || '_' || 
> f_geometry_column
>           FROM geometry_columns WHERE spatial_index_enabled = 1)
> AND name NOT IN (SELECT 'idx_' || f_table_name || '_' || 
> f_geometry_column || '_node'
>           FROM geometry_columns WHERE spatial_index_enabled = 1)
> AND name NOT IN (SELECT 'idx_' || f_table_name || '_' || 
> f_geometry_column || '_parent'
>           FROM geometry_columns WHERE spatial_index_enabled = 1)
> AND name NOT IN (SELECT 'idx_' || f_table_name || '_' || 
> f_geometry_column || '_rowid'
>           FROM geometry_columns WHERE spatial_index_enabled = 1)
> AND name NOT IN ('geometry_columns', 'geometry_columns_auth', 
> 'geometry_columns_time')
> ORDER BY tbl_name;
> 
> Note:
> ===========================
> 1. con queste modifiche filtra automaticamente qualsiasi
>     SpatialIndex e tutte le VirtualTables
> 2. l'ultima lista (geometry_columns etc) va espansa fino
>     a definire l'elenco completo di tutte le meta-tavole
>     utilizzate internamente da SpatiaLite.
>     lavoro noiosetto ma per nulla difficoltoso, basta solo
>     un pizzico di pazienza.
> 3. non copre eventuali TopoGeometry, TopoNetworks e
>     RasterCoverages, ma non credo che ti interessino.
>     nal caso, il problema e' facilmente risolvibile
>     ricalcando lo schema applicato agli Spatial Index;
>     occorre fare una subquery sulla metatavola madre
>     per ricavare tutti i nomi delle tavole figlie.
> 
> ciao Sandro

Grazie per lo spunto e il tempo dedicatomi.

saluti

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/


Maggiori informazioni sulla lista Gfoss