Wie kann ich sqsh dazu bringen, mir zu sagen, welche Tabellen verfügbar sind?
Antworten
Zu viele Anzeigen?Nach einiger Hilfe von diese Seite und einige Versuche und Irrtümer:
select table_name from systable
go
Das ist schmerzhaft genug, sp_help
gibt es in meiner Version nicht.
Ich bin mit systables nicht vertraut. Welche Variante von Sybase setzen Sie ein? Vielleicht ASA?
Im Anhang finden Sie eine sqsh-Funktion (die Sie in Ihre .sqshrc einfügen können), die einige Abfragen der ASE (Adaptive Server Enterprise) Katalogtabellen und die Verwendung der Ed Barlow System Stored Procedure Library demonstriert http://www.edbarlow.com/gem/procs_only/index.htm um herauszufinden, welche Objekte sich in einer Datenbank befinden.
\# Shorthand for sp\_\_helptext or sp\_\_revtable
\\func -x ?
IF EXISTS (SELECT \* FROM sysobjects WHERE name = \\\\'${1}\\\\')
BEGIN
DECLARE @type VARCHAR(3)
SELECT @type = type FROM sysobjects WHERE name = \\\\'${1}\\\\'
IF @type IN (\\\\'U\\\\')
exec sp\_\_revtable ${1}
ELSE
exec sp\_\_helptext ${1}
END
ELSE
-- default to sp\_\_ls (which can list partial matches) if an exact match wasn't found in sysobjects
exec sp\_\_ls ${1}
go
\\done