On Mon, 29 Apr 2019 12:54:05 -0700 (MST), pigreco wrote:
Salve a tutti,
questa query:
SELECT f_table_name,
eval('select count(*) from ' || f_table_name) AS nro_feature
FROM geometry_columns;
restituisce a video una tabella con nome geo-tabella e relativo
numero di
righe, ovvero
se un database ha 5 geo-tabelle restituirà una tabella con 5 righe e
due
colonne: la prima colonna con i nomi delle geo-tabelle e la seconda
il
numero complessivo di feature.
Questa query utilizza la tabella 'geometry_columns' e quindi non
tiene conto
delle semplici tabelle (cioè quelle senza il campo geometry).
Come potrei scrivere una analoga query per conteggiare le righe delle
sole
tabelle (quelle senza geometry)??
Ci riesco con questa, ma sembra bruttina:
SELECT tbl_name,
eval('select count(*) from ' || tbl_name ) AS nro_righe
FROM sqlite_master
where type='table'
and name not like '%geom%'
and name not like '%spatial%'
and name not like '%sql%'
and name not like '%raster%'
and name not like '%SE%'
and name not like '%vector_%'
and sql not like '%geom%';
SELECT tbl_name,
eval('SELECT count(*) FROM "' || tbl_name || '"') AS nro_righe
FROM sqlite_master
WHERE type='table'
AND name NOT IN (SELECT f_table_name FROM geometry_columns)
ORDER BY tbl_name;
ciao Sandro
_______________________________________________
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
796 iscritti al 28/12/2017