Wie kann ich die Liste der Indizes für eine bestimmte Datenbank in Sybase finden?Wie kann ich die Liste der Sybase-Indizes für eine bestimmte Datenbank finden?
Antwort
Query against sysobjects and sysindexes:
SELECT o.name,
i.name
FROM sysobjects o
JOIN sysindexes i
ON (o.id = i.id)
Dokumentation zur Interpretation der Systemtabellen sysobjects und sysindexes ist auf der Sybase-Website verfügbar.
Last up gespeicherte Prozedur Bibliothek aus http://www.edbarlow.com/ und Art in sp__helpindex
oder verwenden Sie die Sybase-sp_helpindex bereitgestellt, die die Tabellennamen als Parameter erwartet.
Um eine vollständige Liste der Indizes in Sybase ASE erhalten wir die folgende Abfrage verwenden können, -.
wählen si * von sysobjects so, sysindexes si wo so.id = si.id und si. indid> 0
Beachten Sie, dass eine einfache Auswahl zwischen der Systemtabelle sysobjects und der Tabelle sysindexes Tabellennamen zusammen mit Indexnamen angibt, wenn nicht geclusterte Indizes vorhanden sind. Lesen Sie den folgenden Link, um weitere Informationen -
SELECT Object_name(id)
FROM sysindexes si
WHERE indid > 0
In Sybase Version SAP IQ/16, können Sie die Liste des Indizes erhalten können mit folgenden (Tabellennamen my_table ist case-sensitive):
select *
from sys.sysindexes
where tname = 'my_table';
können Sie überprüfen sybase Version wie folgt:
select @@version
sp_helpindex ... perfekt! – KornMuffin