Sybase查詢表結構的方法(相似於Oracle的Desc)

來源:互聯網
上載者:User

標籤:roc   分享   acl   isnull   where   sql   _id   簡便   object   

經過我多次驗證。最終找到了Sybase中查詢資料庫結構的方法了。

在此之前,我就非常不解這Sybase資料庫怎麼就沒有和Oracle、MySql一樣簡便的方法呢

desc 表名;

在網上查詢之後,得到一個結果。

sp_help 表名;

可是這樣查出了多個結果。儘管裡面有我們想要的結果。但我們僅僅取一個,並且還在中間。

怎麼辦呢?看預存程序原始碼。把我們想要的結果截取出來吧。

sp_help預存程序在sybsystemprocs庫中,

原始碼:

代碼篇幅過長,此處省略……

一行一行推斷,找下去。

我們發如今原始碼的556行“if (@sysstat & 15) in (1, 2, 3)”有我們想要的結果,這段IF語句是將表結果查詢之後插入一個暫時表#helptype中,然後再進行查詢出來的。

我們不要那麼麻煩,僅僅取裡面的三列:欄位名,欄位類型。欄位長度。

當然你想封裝成預存程序也能夠的,但不能使用desc就是。

select isnull(c.name, ‘NULL‘) ‘欄位名‘,t.name ‘欄位類型‘,c.length ‘欄位長度‘from syscolumns c, systypes t, sysxtypes xwhere c.id = object_id(‘表名‘)and c.usertype *= t.usertypeand c.xtype *= x.xtid;



Sybase查詢表結構的方法(相似於Oracle的Desc)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.