Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consultar registros existentes

Estas en el tema de Consultar registros existentes en el foro de Bases de Datos General en Foros del Web. Hola, Existe alguna manera de consultar la cantidad de registros existentes en cada tabla, me explico, tengo una BD con una cantidad amplia de tablas ...
  #1 (permalink)  
Antiguo 20/01/2011, 13:24
Avatar de scorpion25acv  
Fecha de Ingreso: junio-2004
Ubicación: Costa Rica
Mensajes: 11
Antigüedad: 19 años, 10 meses
Puntos: 0
Pregunta Consultar registros existentes

Hola,
Existe alguna manera de consultar la cantidad de registros existentes en cada tabla, me explico, tengo una BD con una cantidad amplia de tablas (y varia regularmente),

Para limpiar cada tabla debo ir una por una consultando si existen registros, para luego limpiarlos. En SQL 2000, 2005, MySQL, podria hacer algo así? una consulta donde se me devuelva algo como:


Tabla A: 110 registros
Tabla B: 0 registros
Tabla C: 0 registros
Tabla D: 22 registros
Tabla E: 1 registros
...
Tabla Z: 120 registros


Y entonces limpiar las que si tengan registros.

Gracias de antemano
  #2 (permalink)  
Antiguo 20/01/2011, 14:03
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consultar registros existentes

Es codigo de sql 2005

Código SQL:
Ver original
  1. SELECT TABLE_NAME, IDENTITY(INT,1,1) AS ROW
  2. INTO #temp
  3. FROM information_schema.TABLES
  4. WHERE table_type = 'base table'
  5.  
  6. CREATE TABLE #total(
  7. tabla VARCHAR(200),
  8. total INT
  9. )
  10.  
  11. DECLARE
  12. @contador INT,
  13. @query VARCHAR(MAX),
  14. @x INT,
  15. @nombre VARCHAR(200)
  16.  
  17. SELECT @contador=COUNT(*) FROM #temp
  18. SET @x=1
  19. SET @query=''
  20. while @x<=@contador
  21. BEGIN
  22.     SELECT @nombre=TABLE_NAME FROM #temp WHERE ROW=@x
  23.     SET @query='insert into #total (tabla,total) select  ' + CHAR(39) + @nombre + CHAR(39) + ', count(*) from ' + @nombre + ' with(nolock)'
  24.     EXEC Sp_sqlExec @query    
  25.     SET @x=@x+1
  26. END

Con esto sacas lo que necesitas el resultado se almacena en una tabla temporal llamada #total

Saludos!
  #3 (permalink)  
Antiguo 25/01/2011, 22:48
 
Fecha de Ingreso: abril-2008
Mensajes: 223
Antigüedad: 16 años
Puntos: 8
Respuesta: Consultar registros existentes

recorre todos los registros con una consulta y ponele un contador.....
ej:

<?
$db = "db.php"; include($db);

$server = mysql_connect($host, $username, $password) or die(mysql_error());
$_GLOBALS['connection']= mysql_select_db($database, $server);

$sql = "SELECT * FROM comentarios";


//Realizar una consulta en la BD:
$resultados = mysql_query($sql);
if (!$resultados){
echo "La consulta SQL contiene errores.";
exit();
}

//Recorrer el resultado de la consulta:
while ($row = mysql_fetch_array($resultados)){
$i=$i+1;
}
echo 'la cantidad de comentarios es:',$i;
mysql_close($server);
?>
__________________
deep web, free deep web

Etiquetas: existentes, registros, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:49.