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

Saber Si Tabla Esta Vacia...

Estas en el tema de Saber Si Tabla Esta Vacia... en el foro de SQL Server en Foros del Web. holas nuevamente.. tengo la siguiente duda?? como puedo saber si una tabla esta vacia?? he intentado haciendo una consulta a la tabla y si no ...
  #1 (permalink)  
Antiguo 30/07/2007, 10:06
Avatar de el mago de oz  
Fecha de Ingreso: octubre-2005
Mensajes: 192
Antigüedad: 18 años, 6 meses
Puntos: 0
Pregunta Saber Si Tabla Esta Vacia...

holas nuevamente.. tengo la siguiente duda?? como puedo saber si una tabla esta vacia??

he intentado haciendo una consulta a la tabla y si no devuelve un valor requerido en la tabla se supone que esta vacia... pero no puedo leer la respuest ya que no devuelve NULL ni VACIO.... que devuelve un SELECT a una tabla vacía?? como lo leo?? o mejor aun.. se puede saber haciendo una operacion/funcion directamente sobre la tabla??

saludos
gracias
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
  #2 (permalink)  
Antiguo 30/07/2007, 10:20
Avatar de el mago de oz  
Fecha de Ingreso: octubre-2005
Mensajes: 192
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Saber Si Tabla Esta Vacia...

he aqui una posible respuesta:

select count(*) as total from mitabla
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
  #3 (permalink)  
Antiguo 30/07/2007, 11:24
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Saber Si Tabla Esta Vacia...

Ya te has dado una repuesta aceptable tu mismo.
  #4 (permalink)  
Antiguo 30/07/2007, 14:53
Avatar de el mago de oz  
Fecha de Ingreso: octubre-2005
Mensajes: 192
Antigüedad: 18 años, 6 meses
Puntos: 0
De acuerdo Re: Saber Si Tabla Esta Vacia...

Cita:
Iniciado por iislas Ver Mensaje
Ya te has dado una repuesta aceptable tu mismo.
Pero es la única??
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
  #5 (permalink)  
Antiguo 30/07/2007, 17:56
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Saber Si Tabla Esta Vacia...

Tu dices: "pero no puedo leer la respuesta"

Te pregunto: ¿Donde la quieres leer y que esperas recibir?
  #6 (permalink)  
Antiguo 30/07/2007, 20:06
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Saber Si Tabla Esta Vacia...

Prueba con
Código:
If Exists(Select 1 from MiTabla) Begin
    --Instrucciones si la tabla está vacía
End
Else Begin
    --Instrucciones si la tabla tiene datos
End
Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #7 (permalink)  
Antiguo 31/07/2007, 06:29
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Saber Si Tabla Esta Vacia...

Yo prefieron utilizar el "count" con el hint "nolock" en la tabla...

Transact-SQL Optimization Tips
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #8 (permalink)  
Antiguo 31/07/2007, 07:41
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Saber Si Tabla Esta Vacia...

pero el nolock te puede traer datos erroneos, por que puedes estar leyendo transacciones sin cerrar, lo cual es un error, prefiero alejarme del nolock :p
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #9 (permalink)  
Antiguo 31/07/2007, 07:42
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Saber Si Tabla Esta Vacia...

asi es, depende del tipo de operaciones que realices con la tabla....ya lo habia mencionado en un post anterior... solo que hoy se me paso comentarlo

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #10 (permalink)  
Antiguo 31/07/2007, 08:48
Avatar de el mago de oz  
Fecha de Ingreso: octubre-2005
Mensajes: 192
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Saber Si Tabla Esta Vacia...

bueno... mi idea original era hacer un select a un campo especifico de la tabla y el resultado asignarlo a una variable:

select @resultado = iddoc from mitabla

y leer @resultado, pero no devuelve algo "legible" si la tabla esta vacia... al menos intente con:

if @resultado=null
y con
if @resultado=''

pero ninguno resultó...

Saludos
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
  #11 (permalink)  
Antiguo 31/07/2007, 09:05
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Saber Si Tabla Esta Vacia...

no puedes comprar una variable con null, debes hacerlo a traves de la sentencia "is null"

p.e.

if @resultado is null

o bien, si la variable es caracter

if isnull(@resultado, '') = ''
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #12 (permalink)  
Antiguo 31/07/2007, 10:34
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Saber Si Tabla Esta Vacia...

Si esto lo vas a ejecutar en un store procedure:

IF (SELECT COUNT(*) FROM TUTABLA) = 0
BEGIN
RETURN(-1)
END

Capturas el regreso de -1 y sabes que tu tabla esta vacia
  #13 (permalink)  
Antiguo 15/08/2007, 11:09
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Saber Si Tabla Esta Vacia...

Todo lenguaje que se precie tiene maneras de saber si te encuentras al final del conjunto de registros.

En VB lo ves con:

If recorset.EOF Then ...

Porque en teoría, el si el query regresa resultados o no, debería carecer de interés en términos de SQL. Tu aplicación es a la que debe interesarle (hablando en términos de programación en capas)
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #14 (permalink)  
Antiguo 15/08/2007, 21:51
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Saber Si Tabla Esta Vacia...

Excelente anotacion, eso es lo mejor...

saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 17:46.