当前位置: 代码迷 >> Sybase >> 求下列SQL ~ (会的人很简单)(测试正确立刻结),该如何处理
  详细解决方案

求下列SQL ~ (会的人很简单)(测试正确立刻结),该如何处理

热度:8868   发布时间:2013-02-26 00:00:00.0
求下列SQL ~ (会的人很简单)(测试正确立刻结)
怎么select出某个table有哪些列???

怎么select   出某个table有哪些Index和FK??

------解决方案--------------------------------------------------------
一般查询sysobjects就OK了,不过MySQL和DB2不太清楚!
------解决方案--------------------------------------------------------


SQLServer中如何取得一个数据表的所有列名
方法如下:先从SYSTEMOBJECT系统表中取得数据表的SYSTEMID,然后再SYSCOLUMN表中取得该数据表的所有列名。
SQL语句如下:
declare @objid int,@objname char(40)
set @objname = 'tablename '
select @objid = id from sysobjects where id = object_id(@objname)
select 'Column_name ' = name from syscolumns where id = @objid order by colid

是不是太简单了? 呵呵 不过经常用阿。

看lz的意思是要用程序实现吧,如果是java就方便了下面有例子:
statement = conn.createStatement();
String selectAllQuery = "select * from " + tableName;
ResultSet results = statement.executeQuery(selectAllQuery
.toString());
ResultSetMetaData meta = results.getMetaData();


for(int i = 1; i < meta.getColumnCount()+1 ; i++){
System.out.println( "catalog name for column "+meta.getColumnName(i)+ "is "+meta.getCatalogName(i));
System.out.println( "column type is: "+meta.getColumnTypeName(i)+ ": "+meta.getColumnType(i));

}
  相关解决方案