The below given Script will give you the Table Structure.
For Example : If you want to use table structure in your application dynamically you can run this script.
declare @DCFlag int,@DTFlag int,@DLFlag int,@DNFlag int,@DFFlag int
set @DTFlag=1
set @DLFlag=1
set @DNFlag=1
set @DFFlag=1
select H.COLM_NAME,
UPPER(H.COL_SIZE),
H.IS_NULL_ALLOWED,
DEFAULT_DEFINATION,
'NA' AS DESCRIPTION
FROM
(select object_name(s.object_id)'TAB_NAME',
s.name 'COLM_NAME',
case when @DTFlag=1 then dt.name else 'N/A' end 'DATA_TYPE',
case when @DLFlag=1 then s.max_length else 0 end 'LENGTH',
CASE WHEN dt.name='NUMERIC' AND @DLFlag=1
THEN 'NUMERIC'+'('+ltrim(rtrim(cast(S.PRECISION as char)))+','+ltrim(rtrim(cast(S.SCALE as char)))+')'
WHEN (dt.name='INT' or dt.name='SMALLINT' or dt.name='DATETIME' OR dt.name='TIMESTAMP' or dt.name='SMALLINT' or dt.name='BIGINT')and @DLFlag=1
THEN dt.name
WHEN (dt.name='NCHAR' OR dt.name='NVARCHAR')
THEN dt.name+'('+ltrim(rtrim(cast(s.max_length/2 as char)))+')'
WHEN (dt.name='INT' or dt.name='SMALLINT' or dt.name='DATETIME' OR dt.name='TIMESTAMP' or dt.name='SMALLINT' or dt.name='BIGINT')and @DLFlag=1
THEN dt.name
ELSE dt.name+'('+ltrim(rtrim(cast(s.max_length as char)))+')' END 'COL_SIZE',
case when s.is_nullable=1 and @DNFlag=1
then 'NULL'
when s.is_nullable=0 and @DNFlag=1
then 'NOT NULL'else 'N/A' END 'IS_NULL_ALLOWED',
CASE when (s.default_object_id>0 and @DFFlag=1)
then 'Y'
when @DFFlag=0
then 'N/A'
ELSE 'N' END 'IS_DF_DEFINED',
case when @DFFlag=1 and s.default_object_id>0
then(select definition from sys.default_constraints
where parent_object_id=s.object_id and parent_column_id=s.column_id )
else 'NA' end 'DEFAULT_DEFINATION'
FROM sys.columns s
INNER JOIN sys.types dt
on s.system_type_id=dt.system_type_id
WHERE EXISTS(SELECT * FROM sysobjects where id=s.object_id and xtype='U' )
and dt.name<>'sysname' -- and s.max_length<9
--and (dt.name='char' or dt.name='varchar' )and dt.name<>'sysname'
)H
WHERE H.TAB_NAME='Table_Name'
Saturday, April 3, 2010
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment