2014-10-07 29 views
0

我想創建一個select語句,顯示所選用戶列的所有用戶表,列,數據類型和數據長度。如何找出IQ中的數據類型

我已經在ASE中完成了它,但IQ中的系統表是不同的,我不能加入必要的表來獲得我的選擇。在ASE的代碼如下所示:

select so.name as 'table name', sc.name as 'column name', st.name as 'data type', sc.length as 'data length'  
from sysobjects so 
inner join syscolumns sc on so.id = sc.id 
inner join systypes st on sc.usertype = st.usertype 
where so.type = 'U' 

我用usertype爲連接鍵搞定我想要的東西,但在智商syscolumnsystypes不能加入這樣的,任何人都知道我怎樣才能得到它完成了嗎?

回答

1
select 
    t.table_name, 
    c.column_name, 
    d.domain_name, 
    c.width, 
    c.scale 
FROM SYS.SYSTAB t 
JOIN SYS.SYSCOLUMN c 
    ON t.table_id = c.table_id 
join SYS.SYSDOMAIN d 
    on d.domain_id = c.domain_id 
where t.creator <> 0 --sysobjects type 'S' 
and not exists (select * from sys.systab tv 
       where tv.creator in (2, 22) 
       and tv.table_id = t.table_id) --2/22 sysobjects type 'V' 
+0

THX爲你解答,它正是我想要的,但我理解了它自己在當天晚些時候 '選擇T.table_name,C.column_name,C.scale,C.width,D * from syscolumn C key join systable T key join sysdomain D where(T.table_name ='table_name')order by T.table_name,C.column_name' – theweeknd 2014-10-09 09:46:59

相關問題