我目前正在使用雙盲的環境中工作。在Sybase中查找索引表
- 我有電子郵件,我需要運行在客戶端
- 該員工運行它們在SAS客戶的員工有任何疑問,與到Sybase
的ODBC連接,我需要找到了解如何確切地確定特定表格上存在哪些索引。我會使用sp_helpindex
,但顯然它不存在於SyBase的實例中。
我們相信它是SyBase 12,但我再也不能確定任何東西。
有沒有人有SQL ...
- 確認我們正在使用的SyBase的版本是什麼?
- 給定表的所有索引的詳細信息?
我目前正在使用雙盲的環境中工作。在Sybase中查找索引表
的ODBC連接,我需要找到了解如何確切地確定特定表格上存在哪些索引。我會使用sp_helpindex
,但顯然它不存在於SyBase的實例中。
我們相信它是SyBase 12,但我再也不能確定任何東西。
有沒有人有SQL ...
- 確認我們正在使用的SyBase的版本是什麼?
- 給定表的所有索引的詳細信息?
要「確切確認我們正在處理的SyBase的版本是什麼?」
爲什麼不使用:
SELECT @@ VERSION
的Sybase網站已關閉(至少在這裏),但它會是這樣的:
IQ SHOW INDEXSET INDEXES
或
IQ SHOW INDEXSET FOR indexset
其中indexset
是tablename
,因爲每個表都有一個索引集分配了相同的名稱。
如果你有機會到Sybase網站可能你可以走的更遠:)
大多數Sybase產品有-v命令行參數告訴版本,帶或不帶發動機運轉。
要查找任何表的索引中輸入以下內容,其中my_table
是你的表的名稱:
select i.name
from sysindexes i, sysobjects o
where o.name = 'my_table'
and o.id = i.id
您可以使用此查詢:
select i.name
from sysindexes i, sysobjects o
where o.name = 'table_name' and i.indid >=1
and o.id = i.id
的多個表查找索引,不喜歡圖像索引
select name = o.name,iname = i.name from sysindexes i, sysobjects o where o.name in ('table1','table2','table3') and i.name not like 't%' and i.indid >=1 and o.id = i.id
對於sybase版本:
select @@version
在Sybase版本SAP IQ/16
,你可以得到的索引列表與以下(表名MY_TABLE區分大小寫:
select *
from sys.sysindexes
where tname = 'my_table';
感謝這一點,雖然看起來它的失敗是由於其他系統SP失蹤。我想我的客戶會更喜歡我簡單*使用Force * :) – MatBailie 2012-03-07 11:23:35
@Dems是的這是我的雖然它會發生^^但是,你知道哪個版本是? – 2012-03-07 12:57:41
近5個小時才知道,但我明白了! 'Sybase IQ/12.7.0/100114/P/ESD 9/Enterprise Linux64 - amd64,Opteron64,X86_64/2.4.21-27.0.1.ELsmp/64bit/2010-01-14 10:20:04' – MatBailie 2012-03-07 15:43:37