Interroger le catalogue SQL Server pour lister les colonnes d'une table

Contenu du snippet

if exists(select * from sysobjects where name=N'ColonnesDeTable' and type='IF') 
  drop function ColonnesDeTable
go
 
create function ColonnesDeTable(@TableName varchar(50)) returns TABLE
as
RETURN(
  select c.colid colid, c.name colname, t.name typename, c.length length, c.xprec prec, c.xscale scale
  from syscolumns c 
  inner join sysobjects o on c.id = o.id
  left join systypes t on t.xtype=c.xtype and t.usertype=c.usertype
  where o.type in ('S', 'U', 'V', 'IF') and o.name = @TableName)
go

select * from dbo.ColonnesDeTable('sysobjects')



Compatibilité : SQL, SQL 2005

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.