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
8 Respuestas para "Describe en SQL Server"
Justo ahora buscaba algo así, y esta función ya está realizada, sin utilizar siquiera stored procedures, es: sp_help nombretabla;
Si que es un lio migrar de DBMS, saludos !!!
Ivan, Excelente aportacion! el comando sp_help funciona a la perfeccion.
Saludos cordiales,
PARCE NO SE PORQUE NO ME SIRVE ME SALEN UNA SERIE DE ERRORES CREO QUE PUEDE SER LA VERSION DEL SQL COMMAND NO LO TIENE POR HAY PARA DESCARGARLOS O SERA QUE ME PUEDE ENVIAR EL SQL COMPLETO PARA EJECUTARLO MUCHAS GRACIAS
ME SALE UN ERROR DE QUE FALTA OPERADOR COMO HAGO PARA SOLUCIONARLO
@carbyan, ¿puedes ser más preciso, al menos indicando la línea en la que te devuelve el error?
Muchas gracias por las 2 aportaciones…
Las dos me son funcionales
Saludos
OK. Gracias amigo.
Hola:
Al ejecuatar el stored que esta en la pagina me sale este error puedes ayudarme?
Por favor.
Msg 111, Level 15, State 1, Procedure Describe, Line 8
‘CREATE/ALTER PROCEDURE’ must be the first statement in a query batch.
Comentarios: