注:照以前的东西抄的,没有测试oracle的判断两个表空间的两个表的字段是否 相同select column_name from all_tab_columns
where owner='用户1' and table_name='表名1'
  and column_name not in
  select column_name from all_tab_columns
     where owner='用户2' and tablename='表名2'
注;求出是表名1多出表名2的字段列表
sql server的
不完全,你自己再查查帮助select a.* from syscolumns a, sysobjects b 
where a.id=b.id and b.name='pub_info'

解决方案 »

  1.   

    sql server
    查出字段类型,其它信息你到查询分析器的帮助 索引-关键字: syscolumns 应该找的到.
    查询分析器 - pubs - ‘系统表“文件夹 :系统信息都在这里
    学会用“事件探查器‘,你在控制台图形化操作时, 事件探测器会把你的操作用sql 语句表示出来,用这个应该能解决所有问题。
    select a.name,a.length,a.isnull,a., a.usertype ,c.name
      from syscolumns a, 
           sysobjects b ,
    systypes c
    where a.id=b.id 
          and b.name='pub_info' 
          and a.usertype=c.usertype
      

  2.   

    Mysql:<%@ page contentType="text/html; charset=gb2312" %>
    <%@ page language="java" %>
    <%@ page import="java.sql.*"%>
    <jsp:useBean id="myLinkDb" scope="application" class="myblessu.LinkDb"/>
    <%
    Statement stmt=myLinkDb.createStmt();
    ResultSet rs=myLinkDb.execute(stmt,"SHOW FIELDS FROM adminuser");out.print ("<table border width='100%'><td>Field</td><td>Type</td><td>Null</td><td>Key</td><td>Default</td><td>Extra</td></tr>");
    while(rs.next()){
    out.print ("<tr><td>"+rs.getString("Field")+"</td>");
    out.print ("<td>"+rs.getString("Type")+"&nbsp;</td>");
    out.print ("<td>"+rs.getString("Null")+"&nbsp;</td>");
    out.print ("<td>"+rs.getString("Key")+"&nbsp;</td>");
    out.print ("<td>"+rs.getString("Default")+"&nbsp;</td>");
    out.print ("<td>"+rs.getString("Extra")+"&nbsp;</td></tr>");
    }
    out.print ("</table>");
    %>