什麼是Sybase相當於爲MySQL:的MySQL到Sybase
- SHOW KEYS FROM
- DESCRIBE
我剛剛提到這些鏈接,但仍處於迷惑:
Identifying Sybase tables, fields, keys, constraints
Discover primary/unique keys in Sybase ASE
我猜測它與sysobject和syscolumns表和sp_helpconstraint有關,但無法達到解決方案。
什麼是Sybase相當於爲MySQL:的MySQL到Sybase
我剛剛提到這些鏈接,但仍處於迷惑:
Identifying Sybase tables, fields, keys, constraints
Discover primary/unique keys in Sybase ASE
我猜測它與sysobject和syscolumns表和sp_helpconstraint有關,但無法達到解決方案。
SHOW KEYS FROM
有了這個代碼,你可以從一個表項的列表。
SELECT
t.name,
CASE k.type
WHEN 1 THEN 'PK'
WHEN 2 THEN 'FK'
WHEN 3 THEN 'Common'
END,
c.name
FROM
sysobjects t INNER JOIN
syscolumns c ON c.id = t.id INNER JOIN
syskeys k ON k.id = t.id AND c.colid IN (k.key1, k.key2, k.key3, k.key4, k.key5, k.key6, k.key7, k.key8)
WHERE
t.type = 'U' AND k.type in (1,2)
爲了將syskeys join
正常工作,你必須使用sp_primarykey
和sp_foreignkey
。用這個命令你可以在syskeys
表中添加一行。您可以使用sp_helpindex 'tablename'
。 關於constrainst的信息(包括PRIMARY和FOREIGN)也可以通過sp_helpconstraint 'tablename'
獲得。
DESCRIBE
要獲得描述信息只是做sp_help 'tablename'
。
爲了得到正是你需要,你可以創建你需要編輯,我上面提到的存儲過程和創造新的選擇了什麼。sp_help
,sp_helpindex
和sp_helpconstraint
位於syssystemprocs database
。
感謝您的回答。但是,抱歉,首先不清楚。我的意思是,列輸出相當於MySQL SHOW KEYS FROM:Non_unique,Key_name,Seq_in_index,Column_name,Collation,Cardinality,Sub_part,Packed,Null,Index_type,Comment,Index_comment。 for MySQL DESCRIBE:Field,Type,Null,Key,Default,Extra。我知道MySQL和Sybase的不同之處。無論如何,我會嘗試玩你的代碼。 – Iyas 2011-12-15 00:58:38