Come visualizzare un elenco di tabelle che non contengono alcun record e che sono presenti nel database del server SQL. Richiesto è solo per mostrare tabelle senza record in esse.Come trovare l'elenco delle tabelle che non hanno record nel server SQL
6
A
risposta
17
Prova questo:
SELECT
t.NAME AS TableName,
p.rows AS RowCounts
FROM
sys.tables t
INNER JOIN
sys.partitions p ON t.object_id = p.OBJECT_ID
WHERE
t.NAME NOT LIKE 'dt%'
AND t.is_ms_shipped = 0
AND p.rows = 0
GROUP BY
t.Name, p.Rows
ORDER BY
t.Name
La query va agli altri sys.tables
e viste del catalogo per trovare i tavoli, i loro indici e partizioni, per trovare quelle tabelle che hanno un numero di righe di 0.
3
Modifica per aggiungere i nomi dello schema:
SELECT
sch.name,
t.NAME AS TableName,
p.rows AS RowCounts
FROM
sys.tables t
INNER JOIN
sys.partitions p ON t.object_id = p.OBJECT_ID
inner Join sys.schemas sch
on t.schema_id = sch.schema_id
WHERE
t.NAME NOT LIKE 'dt%'
AND t.is_ms_shipped = 0
AND p.rows = 0
GROUP BY
sch.name,t.Name, p.Rows
ORDER BY
sch.name,t.Name
Perché la query richiede t.NOME NON MI PIACE 'dt%'? –