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

Consultar mis tablas con sys.sysobjects

Estas en el tema de Consultar mis tablas con sys.sysobjects en el foro de SQL Server en Foros del Web. Buenas, quiero hacer una consulta a unas tablas que tengo llamadas calendarios y que solo me obtenga las tablas que tengan un campo llamado Completo ...
  #1 (permalink)  
Antiguo 17/04/2009, 12:07
Avatar de triqui  
Fecha de Ingreso: diciembre-2008
Ubicación: Zaragoza(España)
Mensajes: 624
Antigüedad: 15 años, 4 meses
Puntos: 31
Pregunta Consultar mis tablas con sys.sysobjects

Buenas, quiero hacer una consulta a unas tablas que tengo llamadas calendarios y que solo me obtenga las tablas que tengan un campo llamado Completo = NULL



Tengo esta consulta.





Código:
SELECT     name
FROM         sys.sysobjects
WHERE     (name LIKE 'calendario%')
Esto me muestra todas las tablas de mi base de datos cuyo nombre contenga 'Calendario'.

El resultado por ejemplo me daria esto.

Calendario20082009
Calendario20072008
Calendario20052006
Calendario19992000


Hasta aquí bien.


Pero solo quiero mostrar

Las que tienen el campo 'Completo' = NULL

(Todas las tablas tienen la misma estructura).

gracias, llevo dias con esto.
  #2 (permalink)  
Antiguo 17/04/2009, 14:50
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consultar mis tablas con sys.sysobjects

Código sql:
Ver original
  1. DECLARE @SQL VARCHAR(8000)
  2. SET @SQL = ''
  3. SELECT @SQL = @SQL + 'SELECT * FROM '+name+' WHERE Completo IS NULL UNION ALL '
  4. FROM sysobjects
  5. WHERE name LIKE 'calendario%'
  6. SELECT LEFT(@SQL,len(@SQL)-10)
Espero haberte ayudado.
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 18/04/2009, 03:53
Avatar de triqui  
Fecha de Ingreso: diciembre-2008
Ubicación: Zaragoza(España)
Mensajes: 624
Antigüedad: 15 años, 4 meses
Puntos: 31
Respuesta: Consultar mis tablas con sys.sysobjects

Gracias por tu respuesta

Pero te cuento, se que es alo mejor suena un poco lioso lo que quiero hacer.

Tu Query(metiendole el count) me devuelve un string con una consulta, hasta ahi perfecto !.

Código:
SELECT count(*) FROM Calendario20082009 WHERE Enfrentamientos IS NULL 
UNION ALL 
SELECT count(*) FROM Calendario20072008 WHERE Enfrentamientos IS NULL
UNION ALL 
SELECT count(*) FROM Calendario20042003 WHERE Enfrentamientos IS NULL
Esto me devuelve por ejemplo esto:

40
0
20

Pero me tendria que devolver los nombres de las tablas cuando sean mayores que cero, porlo que me tendria que devolver esto:

Calendario20082009
Calendario20042003

Descartando la tabla que tiene count(*) = 0

De todas formas, gracias, con la consulta que me pusiste puedo trabajar sobre lo que me escribiste

un saludo
  #4 (permalink)  
Antiguo 18/04/2009, 12:13
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Consultar mis tablas con sys.sysobjects

COdigo sql
  #5 (permalink)  
Antiguo 20/04/2009, 07:58
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Consultar mis tablas con sys.sysobjects

Que yo sepa sys.objects son todos los objetos (tablas, vistas, etc...)
Tendrías que mirar mejor en sys.tables, pero hay que tener en cuenta que sys.tables trabaja sobre la BD actual.

select name from sys.tables where name like 'calendario%'

El 0 ese que devuelve puede ser una vista u otro tipo de objeto...

Saludos
  #6 (permalink)  
Antiguo 20/04/2009, 08:45
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consultar mis tablas con sys.sysobjects

ejbsoft has probado que devuelve: select name from sysobjects where name like 'calendario%'?
Lo que si falto fue AND xtype='u'.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 20/04/2009, 08:57
 
Fecha de Ingreso: abril-2009
Mensajes: 35
Antigüedad: 15 años
Puntos: 0
Respuesta: Consultar mis tablas con sys.sysobjects

Ahora que sacas el sys.table..

necesito toda la información que me podrais facilitar sobre sys.table.

Información como tipos que hay, como se utiliza, para que se utiliza, etcétera...

Muchas gracias por adelantado,

por favor, es importante y me corre un poco de prisa. Gracias.
  #8 (permalink)  
Antiguo 20/04/2009, 09:09
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consultar mis tablas con sys.sysobjects

Si buscas en los Libros en linea (BOL) encontrarás detallado sobre sysobjects y las demás tablas de sistema.
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #9 (permalink)  
Antiguo 20/04/2009, 09:10
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Consultar mis tablas con sys.sysobjects

Cita:
Iniciado por flaviovich Ver Mensaje
ejbsoft has probado que devuelve: select name from sysobjects where name like 'calendario%'?
Lo que si falto fue AND xtype='u'.

Efectivamente. Si se hubiera puesto así valdría en sys.objects para las tablas unicamente. De todas maneras en sys.tables no habría que poner lo de la 'u'

De todas maneras, me da que no devuelve la tabla pq es otro objeto como posiblemente una vista...

Saludos
  #10 (permalink)  
Antiguo 20/04/2009, 09:36
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consultar mis tablas con sys.sysobjects

Bueno, sys.tables solo es a partir de 2005, y si no me equivoco es una vista.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #11 (permalink)  
Antiguo 20/04/2009, 09:40
 
Fecha de Ingreso: abril-2009
Mensajes: 35
Antigüedad: 15 años
Puntos: 0
Respuesta: Consultar mis tablas con sys.sysobjects

Cita:
Iniciado por flaviovich Ver Mensaje
Si buscas en los Libros en linea (BOL) encontrarás detallado sobre sysobjects y las demás tablas de sistema.
Suerte!
¿Qué es eso de los libros en linea?
  #12 (permalink)  
Antiguo 20/04/2009, 09:47
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consultar mis tablas con sys.sysobjects

Es la ayuda que viene con la instalación. Encontrarás el acceso directo en tu carpeta Microsoft SQL Server en Todos los programas.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #13 (permalink)  
Antiguo 20/04/2009, 09:59
 
Fecha de Ingreso: abril-2009
Mensajes: 35
Antigüedad: 15 años
Puntos: 0
Respuesta: Consultar mis tablas con sys.sysobjects

Cita:
Iniciado por flaviovich Ver Mensaje
Es la ayuda que viene con la instalación. Encontrarás el acceso directo en tu carpeta Microsoft SQL Server en Todos los programas.
¿Podrías hacerme el gran favor de buscarlo por mi? Es que yo no lo tengo instalado en este PC. Por favor, es muy importante. ¿Me arías el gran favor?

Muchísimas gracias.
  #14 (permalink)  
Antiguo 20/04/2009, 11:08
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consultar mis tablas con sys.sysobjects

sys.objects (Transact-SQL)
sys.tables (Transact-SQL)
Servido, señor!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #15 (permalink)  
Antiguo 20/04/2009, 18:35
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
Respuesta: Consultar mis tablas con sys.sysobjects

Bueno, bueno, mas no cro que se pueda hacer, saludos
  #16 (permalink)  
Antiguo 21/04/2009, 00:09
Avatar de triqui  
Fecha de Ingreso: diciembre-2008
Ubicación: Zaragoza(España)
Mensajes: 624
Antigüedad: 15 años, 4 meses
Puntos: 31
De acuerdo Respuesta: Consultar mis tablas con sys.sysobjects

Si, estuvo muy bien, gracias por las molestias sr.flaviovich.

Un saludo



marchando un poco de karma
  #17 (permalink)  
Antiguo 21/04/2009, 11:16
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Consultar mis tablas con sys.sysobjects

Gracias por el karma, aunque parece que fue un karma de desaprobacion porque aparece la medallita en gris.
De todas maneras, gracias por tus comentarios!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
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 11:03.