Condividi:        

Elenco tabelle e record count con query SQL

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Anthony47, Triumph Of Steel, archimede

Elenco tabelle e record count con query SQL

Postdi infinito1971 » 19/01/06 14:00

Ciao a tutti,
qualcuno sa se è possibile fare una query SQL (non una stored procedure) che dia come risultato l'elenco delle tabelle del db (Oracle, SQL Server o MySQL) e per ciascuna di queste il rispettivo numero di records?

Saluti,
infinito1971
Questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
Avatar utente
infinito1971
Utente Senior
 
Post: 532
Iscritto il: 01/08/02 21:22
Località: Napoli

Sponsor
 

Postdi archimede » 19/01/06 14:57

Dubito che esista un comando SQL valido per qualsiasi db.

In Oracle puoi avere una "stima" per ogni tabella:
Codice: Seleziona tutto
select table_name, num_rows from user_tables;
Se invece vuoi il conto esatto, non saprei come fare usando solo SQL:
Codice: Seleziona tutto
declare n number;
begin
  for x in (select table_name from user_tables where table_name not like 'BIN$%') loop
    execute immediate 'select count(*) from ' || x.table_name into n;
    dbms_output.put_line(x.table_name || ' ha ' || n || ' records.');
  end loop;
end;
/
HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi infinito1971 » 19/01/06 17:48

La prima select è proprio ciò che vorrei ma, così com'è, non va bene in quanto fornisce solo una "stima" che non è per niente attendibile...
Ti ringrazio comunque e, a questo punto, anch'io comincio a pensarla come te... ossia che non sia possibile effettuare una tale query col solo SQL.

Ciao,
infinito1971
Questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
Avatar utente
infinito1971
Utente Senior
 
Post: 532
Iscritto il: 01/08/02 21:22
Località: Napoli

Postdi archimede » 19/01/06 18:09

infinito1971 ha scritto:La prima select è proprio ciò che vorrei ma, così com'è, non va bene in quanto fornisce solo una "stima" che non è per niente attendibile...
L'attendibilità dipende da quanto spesso vengono aggiornate le statistiche sulle tabelle:
Codice: Seleziona tutto
analyze table MIATABELLA compute statistics;
Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova


Torna a Programmazione


Topic correlati a "Elenco tabelle e record count con query SQL":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti