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

Obtener numero de registros de una tabla

Estas en el tema de Obtener numero de registros de una tabla en el foro de Bases de Datos General en Foros del Web. Hola a todos. Estoy aprendiendo a usar procedimientos almacenados y triggers y quiero saber cómo almacenar en una variable el númro de registros de una ...
  #1 (permalink)  
Antiguo 06/12/2010, 12:01
 
Fecha de Ingreso: diciembre-2008
Ubicación: Lima - Perú
Mensajes: 187
Antigüedad: 15 años, 11 meses
Puntos: 3
Pregunta Obtener numero de registros de una tabla

Hola a todos.

Estoy aprendiendo a usar procedimientos almacenados y triggers y quiero saber cómo almacenar en una variable el númro de registros de una tabla.

Esto parece que no funciona

Código SQL:
Ver original
  1. DECLARE total_reg INT; SELECT COUNT(*) FROM mi_tabla INTO total_reg;

Espero que me puedan ayidar, hasta luego.
  #2 (permalink)  
Antiguo 06/12/2010, 12:20
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Obtener numero de registros de una tabla

DECLARE, al menos en MySQL sólo funciona en stored procedures.
¿En qué DBMS estás trabajando y hacia dónde quieres guardar ese dato? ¿Lo procesarás desde algún lenguaje de programación?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 06/12/2010, 12:43
 
Fecha de Ingreso: diciembre-2008
Ubicación: Lima - Perú
Mensajes: 187
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Obtener numero de registros de una tabla

El DBMS es mysql, el dato lo quiero almacenar en una variable, y el lenguaje que estoy usando es el mismo sql. No estoy usando ni php ni otro lenguaje de lado servidor.

Es posible mi objetivo??
  #4 (permalink)  
Antiguo 06/12/2010, 12:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Obtener numero de registros de una tabla

Si, si estás trabajando con stored procedures.
Si lo estás haciendo desde sentencias sueltas, debes usar variable de usuario, para lo cual debes anteponerle un arroba (@):
Código MySQL:
Ver original
  1. SET  @total_reg=0;
  2. SELECT COUNT(*) FROM mi_tabla INTO @total_reg;
  3. SELECT  @total_reg;
Ten en cuenta que:
1) Las variables de usuario existen dentro de una conexión. Son invisibles desde otra conexión, aunque sea del mismo usuario y mueren si cierras la conexión.
2) No se declaran. Se inicializan y se usan directamente.
3) Se deben inicializar porque su valor inicial es NULL, por o que anulan cualquier operación hecha con ellas sin incialización previa.
4) También se inicializan porque no tienen tipo de dato. Empiezan a tenerlo cuando las inicializas.
5) Son permanentes dentro de la conexión, lo que quiere decir que conservan el último valor adquirido hasta el cierre de sistema, sin importar cuantas sentencias se hayan ejecutado entremedio; por ello, cuando se las vaya a usar de nuevo hay que recordar reinicializarlas cuando no se vaya a usar el valor previo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 06/12/2010, 16:27
 
Fecha de Ingreso: diciembre-2008
Ubicación: Lima - Perú
Mensajes: 187
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Obtener numero de registros de una tabla

Cuando inserto este código parece que el procedieminto se crea bien porque no aparece ningún mensaje de error

Código SQL:
Ver original
  1. delimiter //
  2. CREATE PROCEDURE prueba ()
  3.   BEGIN
  4.     SET  @total_reg=0;
  5.     SELECT COUNT(*) FROM mi_tabla INTO @total_reg;
  6.     SELECT  @total_reg;        
  7.   END
  8. //

y cuando pongo

Código SQL:
Ver original
  1. CALL prueba ();

No aparece nada, que hice mal???
  #6 (permalink)  
Antiguo 06/12/2010, 16:41
 
Fecha de Ingreso: diciembre-2008
Ubicación: Lima - Perú
Mensajes: 187
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Obtener numero de registros de una tabla

Muchas gracias ya lo solucione, el codigo para crear el procedimiento es

Código SQL:
Ver original
  1. DELIMITER |
  2. CREATE PROCEDURE prueba ()
  3.   BEGIN
  4.     SET  @total_reg=0;
  5.     SELECT COUNT(*) FROM mi_tabla INTO @total_reg;
  6.     SELECT  @total_reg;
  7.      END
  8. |
  9. DELIMITER ;

Etiquetas: numero, 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 14:19.