Acostumbrado a utilizar MySQL, cuando tuve que hacer unas pequeñas cosas en SQL Server, lo primero que empecé a extrañar fue el comando describe.

El comando describe en MySQL me permite conocer la estructura de una tabla. Si bien en SQL Server lo podía hacer navegando por la sysobjects, yo heredaba mis vicios de MySQL.

No quedaba otra alternativa que escribir por cuenta propia un stored “describe”. Por suerte, esto ya estaba hecho y publicado en la web.

Create proc Describe @tableName varchar(30)
as
begin
set nocount on

select
column_name,
data_type + ' ' +
(case data_type
when 'char'
then '(' + convert (varchar(6),character_maximum_length) + ')'
when 'varchar'
then '(' + convert (varchar(6),character_maximum_length) + ')'
when 'nchar'
then '(' + convert (varchar(6),character_maximum_length) + ')'
when 'nvarchar'
then '(' + convert (varchar(6),character_maximum_length) + ')'
else ' ' end) as data_type,
(case is_nullable
when 'No' then 'NOT NULL' else 'NULL' END) AS NULLABLE
FROM information_schema.columns
WHERE table_name = @tableName
Order by Ordinal_Position asc

set nocount off
end
go