LISTING 3: Query Against the INFORMATION_SCHEMA.COLUMNS View CREATE PROCEDURE sp_desc @tablename varchar(50)=Null AS select cast(column_name as varchar(15)) name,cast(data_type as varchar(15)) type, length = case when isnull(character_maximum_length,0)>0 then character_maximum_length else numeric_precision end ,is_nullable as 'NULLS?' from information_schema.COLUMNS where table_name=@tablename return(0)