SQL Server 2005:模擬Oracle的desc命令編寫的describe,查詢表的結構

lawzjf發表於2007-08-22

create proc [dbo].[describe]

@table_name Nvarchar(100)

as

select c.name as column_name,

case t.name

when 'numeric' then

t.name+'('+cast(c.precision as varchar(5))+','+cast(c.scale as varchar(5))+')'

when 'char' then

t.name+'('+cast(c.max_length as varchar(5))+')'

when 'varchar' then

t.name+'('+cast(c.max_length as varchar(5))+')'

when 'nvarchar' then

t.name+'('+cast(c.max_length as varchar(5))+')'

else t.name

end as type,

case c.is_nullable

when 1 then ' '

else 'NOT NULL'

end as nullable

from sys.all_columns as c, sys.types as t

where c.system_type_id=t.system_type_id

and t.name<>'sysname' and c.object_id=object_id(@table_name)

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/37724/viewspace-964935/,如需轉載,請註明出處,否則將追究法律責任。

相關文章