SQL para obtener Schema de una base de datos en SQL Server

3 04 2008

Hoy me encontré con el problema de obtener todas las tablas de una base de datos dado con SQL. Releyendo el post
SQL para obtener Schema de una tabla en SQL Server y hacindo un par de modificaciones obtuve la sentencia SQL para obtener todas las tablas de la DB.

SELECT
       TABLE_NAME
 FROM
      INFORMATION_SCHEMA.TABLES
 WHERE
       TABLE_TYPE = 'BASE TABLE'
       AND TABLE_CATALOG='DATABASE_NAME'

donde dice DATABASE_NAME colocamos el nombre de la base de datos de la cual queremos saber su schema.

Enjoy!





Sentencia SQL para establecer DEFAULT en un campo en SQL Server

3 12 2007

Buenas!

Luego de varios intentos sin éxito usando:

ALTER TABLE [dbo].[TABLA] ALTER COLUMN [COLUMN] SET DEFAULT ‘Default Value’

Como lo dice el artículo:
http://technet.microsoft.com/es-es/library/ms174123.aspx

Encontré la solución:

ALTER TABLE [dbo].[TABLA] ADD DEFAULT ‘Default Value’ FOR [COLUMN]

Aquí esta el thread con la solución:
http://www.houseoffusion.com/groups/sql/thread.cfm/threadid:800

 





SQL para obtener Schema de una tabla en SQL Server

3 12 2007

El otro día necesitaba verificar el schema de una tabla en producción, ya que no andaba :P , y no tenía acceso a través del Management Studio. Así que acudí a mi developer coach, Cesar Patroniti, quién rápidamente me paso la siguiente sentencia SQL:

 

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ‘NombreTabla’

que funciona de maravillas. Y nos devuelve la siguiente info:

  • TABLE_CATALOG
  • TABLE_SCHEMA
  • TABLE_NAME
  • COLUMN_NAME
  • ORDINAL_POSITION
  • COLUMN_DEFAULT
  • IS_NULLABLE
  • DATA_TYPE
  • CHARACTER_MAXIMUM_LENGTH
  • CHARACTER_OCTECT_LENGTH
  • NUMERIC_PRECISION
  • NUMERIC_PRECISION_RADIX
  • NUMERIC_SCALE
  • DATETIME_PRECISION
  • CHARACTER_SET_CATALOG
  • CHARACTER_SET_SCHEMA
  • CHARACTER_SET_NAME
  • COLLATION_CATALOG
  • COLLATION_SCHEMA
  • COLLATION_NAME
  • DOMAIN_CATALOG
  • DOMAIN_SCHEMA
  • DOMAIN_NAME

Gracias Cesar!