通过查询系统表得到纵向的表结构_表结构SELECT 
通过查询系统表得到纵向的表结构_表结构表名
=case when a.colorder=1 then d.name else '' end,
通过查询系统表得到纵向的表结构_表结构表说明
=case when a.colorder=1 then isnull(f.value,''else '' end,
通过查询系统表得到纵向的表结构_表结构字段序号
=a.colorder,
通过查询系统表得到纵向的表结构_表结构字段名
=a.name,
通过查询系统表得到纵向的表结构_表结构标识
=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then ''else '' end,
通过查询系统表得到纵向的表结构_表结构主键
=case when exists(SELECT 1 FROM sysobjects where xtype='PK' and name in (
通过查询系统表得到纵向的表结构_表结构
SELECT name FROM sysindexes WHERE indid in(
通过查询系统表得到纵向的表结构_表结构
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
通过查询系统表得到纵向的表结构_表结构))) 
then '' else '' end,
通过查询系统表得到纵向的表结构_表结构类型
=b.name,
通过查询系统表得到纵向的表结构_表结构占用字节数
=a.length,
通过查询系统表得到纵向的表结构_表结构长度
=COLUMNPROPERTY(a.id,a.name,'PRECISION'),
通过查询系统表得到纵向的表结构_表结构小数位数
=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
通过查询系统表得到纵向的表结构_表结构允许空
=case when a.isnullable=1 then ''else '' end,
通过查询系统表得到纵向的表结构_表结构默认值
=isnull(e.text,''),
通过查询系统表得到纵向的表结构_表结构字段说明
=isnull(g.[value],'')
通过查询系统表得到纵向的表结构_表结构
FROM syscolumns a
通过查询系统表得到纵向的表结构_表结构
left join systypes b on a.xusertype=b.xusertype
通过查询系统表得到纵向的表结构_表结构
inner join sysobjects d on a.id=d.id  and d.xtype='U' and  d.name<>'dtproperties'
通过查询系统表得到纵向的表结构_表结构
left join syscomments e on a.cdefault=e.id
通过查询系统表得到纵向的表结构_表结构
left join sysproperties g on a.id=g.id and a.colid=g.smallid  
通过查询系统表得到纵向的表结构_表结构
left join sysproperties f on d.id=f.id and f.smallid=0
通过查询系统表得到纵向的表结构_表结构
--where d.name='orders'    --如果只查询指定表,加上此条件
通过查询系统表得到纵向的表结构_表结构
order by a.id,a.colorder
通过查询系统表得到纵向的表结构_表结构
通过查询系统表得到纵向的表结构_表结构
select * from syscolumns

--如果是要得到纵向的表结构,可以查询系统表 可以通过上面的方法实现
以上仅对Sql 2000适用
2005里面查询表结构
通过查询系统表得到纵向的表结构_表结构--.表结构信息查询 表结构信息查询
通过查询系统表得到纵向的表结构_表结构
SELECT 
通过查询系统表得到纵向的表结构_表结构TableName
=CASE WHEN C.column_id=1 THEN O.name ELSE N'' END,
通过查询系统表得到纵向的表结构_表结构TableDesc
=ISNULL(CASE WHEN C.column_id=1 THEN PTB.[value] END,N''),
通过查询系统表得到纵向的表结构_表结构Column_id
=C.column_id,
通过查询系统表得到纵向的表结构_表结构ColumnName
=C.name,
通过查询系统表得到纵向的表结构_表结构PrimaryKey
=ISNULL(IDX.PrimaryKey,N''),
通过查询系统表得到纵向的表结构_表结构
[IDENTITY]=CASE WHEN C.is_identity=1 THEN N''ELSE N'' END,
通过查询系统表得到纵向的表结构_表结构Computed
=CASE WHEN C.is_computed=1 THEN N''ELSE N'' END,
通过查询系统表得到纵向的表结构_表结构Type
=T.name,
通过查询系统表得到纵向的表结构_表结构Length
=C.max_length,
通过查询系统表得到纵向的表结构_表结构
Precision=C.precision,
通过查询系统表得到纵向的表结构_表结构Scale
=C.scale,
通过查询系统表得到纵向的表结构_表结构NullAble
=CASE WHEN C.is_nullable=1 THEN N''ELSE N'' END,
通过查询系统表得到纵向的表结构_表结构
[Default]=ISNULL(D.definition,N''),
通过查询系统表得到纵向的表结构_表结构ColumnDesc
=ISNULL(PFD.[value],N''),
通过查询系统表得到纵向的表结构_表结构IndexName
=ISNULL(IDX.IndexName,N''),
通过查询系统表得到纵向的表结构_表结构IndexSort
=ISNULL(IDX.Sort,N''),
通过查询系统表得到纵向的表结构_表结构Create_Date
=O.Create_Date,
通过查询系统表得到纵向的表结构_表结构Modify_Date
=O.Modify_date
通过查询系统表得到纵向的表结构_表结构
FROM sys.columns C
通过查询系统表得到纵向的表结构_表结构
INNER JOIN sys.objects O
通过查询系统表得到纵向的表结构_表结构
ON C.[object_id]=O.[object_id]
通过查询系统表得到纵向的表结构_表结构
AND O.type='U'
通过查询系统表得到纵向的表结构_表结构
AND O.is_ms_shipped=0
通过查询系统表得到纵向的表结构_表结构
INNER JOIN sys.types T
通过查询系统表得到纵向的表结构_表结构
ON C.user_type_id=T.user_type_id
通过查询系统表得到纵向的表结构_表结构
LEFT JOIN sys.default_constraints D
通过查询系统表得到纵向的表结构_表结构
ON C.[object_id]=D.parent_object_id
通过查询系统表得到纵向的表结构_表结构
AND C.column_id=D.parent_column_id
通过查询系统表得到纵向的表结构_表结构
AND C.default_object_id=D.[object_id]
通过查询系统表得到纵向的表结构_表结构
LEFT JOIN sys.extended_properties PFD
通过查询系统表得到纵向的表结构_表结构
ON PFD.class=1 
通过查询系统表得到纵向的表结构_表结构
AND C.[object_id]=PFD.major_id 
通过查询系统表得到纵向的表结构_表结构
AND C.column_id=PFD.minor_id
通过查询系统表得到纵向的表结构_表结构
--             AND PFD.name='Caption'  -- 字段说明对应的描述名称(一个字段可以添加多个不同name的描述)
通过查询系统表得到纵向的表结构_表结构
LEFT JOIN sys.extended_properties PTB
通过查询系统表得到纵向的表结构_表结构
ON PTB.class=1 
通过查询系统表得到纵向的表结构_表结构
AND PTB.minor_id=0 
通过查询系统表得到纵向的表结构_表结构
AND C.[object_id]=PTB.major_id
通过查询系统表得到纵向的表结构_表结构
--             AND PFD.name='Caption'  -- 表说明对应的描述名称(一个表可以添加多个不同name的描述)  
通过查询系统表得到纵向的表结构_表结构
LEFT JOIN                       -- 索引及主键信息
通过查询系统表得到纵向的表结构_表结构
(
通过查询系统表得到纵向的表结构_表结构
SELECT 
通过查询系统表得到纵向的表结构_表结构IDXC.
[object_id],
通过查询系统表得到纵向的表结构_表结构IDXC.column_id,
通过查询系统表得到纵向的表结构_表结构Sort
=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending')
通过查询系统表得到纵向的表结构_表结构
WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END,
通过查询系统表得到纵向的表结构_表结构PrimaryKey
=CASE WHEN IDX.is_primary_key=1 THEN N''ELSE N'' END,
通过查询系统表得到纵向的表结构_表结构IndexName
=IDX.Name
通过查询系统表得到纵向的表结构_表结构
FROM sys.indexes IDX
通过查询系统表得到纵向的表结构_表结构
INNER JOIN sys.index_columns IDXC
通过查询系统表得到纵向的表结构_表结构
ON IDX.[object_id]=IDXC.[object_id]
通过查询系统表得到纵向的表结构_表结构
AND IDX.index_id=IDXC.index_id
通过查询系统表得到纵向的表结构_表结构
LEFT JOIN sys.key_constraints KC
通过查询系统表得到纵向的表结构_表结构
ON IDX.[object_id]=KC.[parent_object_id]
通过查询系统表得到纵向的表结构_表结构
AND IDX.index_id=KC.unique_index_id
通过查询系统表得到纵向的表结构_表结构
INNER JOIN  -- 对于一个列包含多个索引的情况,只显示第1个索引信息
通过查询系统表得到纵向的表结构_表结构
(
通过查询系统表得到纵向的表结构_表结构
SELECT [object_id], Column_id, index_id=MIN(index_id)
通过查询系统表得到纵向的表结构_表结构
FROM sys.index_columns
通过查询系统表得到纵向的表结构_表结构
GROUP BY [object_id], Column_id
通过查询系统表得到纵向的表结构_表结构) IDXCUQ
通过查询系统表得到纵向的表结构_表结构
ON IDXC.[object_id]=IDXCUQ.[object_id]
通过查询系统表得到纵向的表结构_表结构
AND IDXC.Column_id=IDXCUQ.Column_id
通过查询系统表得到纵向的表结构_表结构
AND IDXC.index_id=IDXCUQ.index_id
通过查询系统表得到纵向的表结构_表结构) IDX
通过查询系统表得到纵向的表结构_表结构
ON C.[object_id]=IDX.[object_id]
通过查询系统表得到纵向的表结构_表结构
AND C.column_id=IDX.column_id 
通过查询系统表得到纵向的表结构_表结构
-- WHERE O.name=N'要查询的表'       -- 如果只查询指定表,加上此条件
通过查询系统表得到纵向的表结构_表结构
ORDER BY O.name,C.column_id 
通过查询系统表得到纵向的表结构_表结构
通过查询系统表得到纵向的表结构_表结构

Oracle  9i获得表结构
通过查询系统表得到纵向的表结构_表名_101select * from 
通过查询系统表得到纵向的表结构_表名_101(
通过查询系统表得到纵向的表结构_表名_101
select
通过查询系统表得到纵向的表结构_表名_101                  all_tab_columns.column_name,
通过查询系统表得到纵向的表结构_表名_101                  data_type,
通过查询系统表得到纵向的表结构_表名_101                  To_Char(data_length) 
as data_length,                  
通过查询系统表得到纵向的表结构_表名_101                  nullable,
通过查询系统表得到纵向的表结构_表名_101                                    all_col_comments.comments
通过查询系统表得到纵向的表结构_表名_101              
from
通过查询系统表得到纵向的表结构_表名_101                  all_tab_columns,
通过查询系统表得到纵向的表结构_表名_101                  all_tables,
通过查询系统表得到纵向的表结构_表名_101                  all_col_comments
通过查询系统表得到纵向的表结构_表名_101              
where
通过查询系统表得到纵向的表结构_表名_101                  all_tables.table_name 
= upper('BLC_CHARGEUPIN_HEAD'and
通过查询系统表得到纵向的表结构_表名_101                  all_tab_columns.table_name 
= all_tables.table_name and
通过查询系统表得到纵向的表结构_表名_101                  all_col_comments.table_name(
+=  upper('BLC_CHARGEUPIN_HEAD'and
通过查询系统表得到纵向的表结构_表名_101                  all_tables.OWNER 
like upper('CMMP'and
通过查询系统表得到纵向的表结构_表名_101                  all_tab_columns.OWNER 
= all_tables.OWNER and        
通过查询系统表得到纵向的表结构_表名_101                  all_col_comments.column_name(
+= all_tab_columns.column_name
通过查询系统表得到纵向的表结构_表名_101                  
and all_col_comments.column_name not in ('CREATED_BY','CREATED_DATE','LAST_UPDATED_BY','LAST_UPDATED_DATE','VERSION_NO','TRANSACTION_ID')
通过查询系统表得到纵向的表结构_表名_101                  
and data_type<>'NUMBER'   
通过查询系统表得到纵向的表结构_表名_101
and all_col_comments.owner =upper('CMMP'
通过查询系统表得到纵向的表结构_表名_101
通过查询系统表得到纵向的表结构_表名_101              
union
通过查询系统表得到纵向的表结构_表名_101
通过查询系统表得到纵向的表结构_表名_101              
select
通过查询系统表得到纵向的表结构_表名_101                  all_tab_columns.column_name,
通过查询系统表得到纵向的表结构_表名_101                  data_type,
通过查询系统表得到纵向的表结构_表名_101                  data_precision
|| ',' ||data_scale  as data_length,        
通过查询系统表得到纵向的表结构_表名_101                  nullable,
通过查询系统表得到纵向的表结构_表名_101                                    all_col_comments.comments
通过查询系统表得到纵向的表结构_表名_101              
from
通过查询系统表得到纵向的表结构_表名_101                  all_tab_columns,
通过查询系统表得到纵向的表结构_表名_101                  all_tables,
通过查询系统表得到纵向的表结构_表名_101                  all_col_comments
通过查询系统表得到纵向的表结构_表名_101              
where
通过查询系统表得到纵向的表结构_表名_101                  all_tables.table_name 
= upper('BLC_CHARGEUPIN_HEAD'and
通过查询系统表得到纵向的表结构_表名_101                  all_tab_columns.table_name 
= all_tables.table_name and
通过查询系统表得到纵向的表结构_表名_101                  all_col_comments.table_name(
+= upper('BLC_CHARGEUPIN_HEAD'and
通过查询系统表得到纵向的表结构_表名_101                  all_tables.OWNER 
like upper('CMMP'and
通过查询系统表得到纵向的表结构_表名_101                  all_tab_columns.OWNER 
= all_tables.OWNER and        
通过查询系统表得到纵向的表结构_表名_101                  all_col_comments.column_name(
+= all_tab_columns.column_name
通过查询系统表得到纵向的表结构_表名_101                  
and all_col_comments.column_name not in ('CREATED_BY','CREATED_DATE','LAST_UPDATED_BY','LAST_UPDATED_DATE','VERSION_NO','TRANSACTION_ID')
通过查询系统表得到纵向的表结构_表名_101                  
and data_type='NUMBER'
通过查询系统表得到纵向的表结构_表名_101                  
and all_col_comments.owner =upper('CMMP'
通过查询系统表得到纵向的表结构_表名_101)
通过查询系统表得到纵向的表结构_表名_101
where column_name='AGENT_NAME'                  

其中BLC_CHARGEUPIN_HEAD 是表名,CMMP 是用户名,AGENT_NAME 是列名