SELECT SCH.NAME AS SCHEMA_NAME
,TAB.NAME AS TABLE_NAME
,COL.NAME AS COLUMN_NAME
,TYPEOBJ.NAME AS COLUMN_TYPE
,TYPESCH.NAME AS COLUMN_TYPE_SCHEMA
FROM SYSCOLUMNS COL
,SYSOBJECTS TAB
,SYSOBJECTS SCH
,SYSOBJECTS TYPEOBJ
,SYSOBJECTS TYPESCH
WHERE COL.TYPE$ LIKE'CLASS%'AND TAB.ID = COL.ID
AND TAB.TYPE$ ='SCHOBJ'AND TAB.SUBTYPE$ IN ('STAB','UTAB')
AND SCH.ID = TAB.SCHID
AND TYPEOBJ.ID = SUBSTR(COL.TYPE$,6)
AND TYPEOBJ.TYPE$ ='SCHOBJ'AND TYPESCH.ID = TYPEOBJ.SCHID
AND TYPESCH.NAME IN ('SYSGEO','SYSGEO2')
试下这个查询,看看是否能够满足需要
SELECT SCH.NAME AS SCHEMA_NAME ,TAB.NAME AS TABLE_NAME ,COL.NAME AS COLUMN_NAME ,TYPEOBJ.NAME AS COLUMN_TYPE ,TYPESCH.NAME AS COLUMN_TYPE_SCHEMA FROM SYSCOLUMNS COL ,SYSOBJECTS TAB ,SYSOBJECTS SCH ,SYSOBJECTS TYPEOBJ ,SYSOBJECTS TYPESCH WHERE COL.TYPE$ LIKE 'CLASS%' AND TAB.ID = COL.ID AND TAB.TYPE$ = 'SCHOBJ' AND TAB.SUBTYPE$ IN ('STAB','UTAB') AND SCH.ID = TAB.SCHID AND TYPEOBJ.ID = SUBSTR(COL.TYPE$,6) AND TYPEOBJ.TYPE$ = 'SCHOBJ' AND TYPESCH.ID = TYPEOBJ.SCHID AND TYPESCH.NAME IN ('SYSGEO','SYSGEO2')