2009-05-01 7 views
12

Wie kann ich sqsh mir sagen, welche Tabellen verfügbar sind?Was entspricht "Zeige Tabellen" in SQSH

+0

möglich Duplikat [? Von einer Sybase-Datenbank, wie ich Tabellenbeschreibung (Feldnamen und -typen) erhalten kann] (http: // Stackoverflow .com/questions/1429898/from-a-sybase-datenbank-wie-ich-kann-get-table-description-feldnamen-und-types) – nslntmnx

Antwort

5

Nach etwas Hilfe von this site und einige Versuch und Irrtum:

select table_name from systable 
go 

Schmerzlich genug, hat sp_help nicht in meiner Version existieren.

+1

Dies scheint für eine bestimmte Sybase-Version spezifisch zu sein, da es nicht ' t Arbeiten an ASE. Verwenden Sie IQ? – VolkA

2

Ich bin nicht vertraut mit systables. Welche Art von Sybase verwenden Sie? ASA vielleicht?

Anbei finden Sie eine sqsh-Funktion (die Sie in Ihre .sqshrc einfügen können), die eine Abfrage der ASE (Adaptive Server Enterprise) Katalogtabellen und die Verwendung der Ed Barlow-System-Bibliothek http://www.edbarlow.com/gem/procs_only/index.htm zeigt, um herauszufinden, was Objekte sind in einer Datenbank.

 
# 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 

+0

Wählen Sie den Namen aus sysobjects wobei xtype = 'U' –

7

Funktioniert sp_tables für Sie? Versuchen Sie, beim Erstellen einer Abfrage Tab-Vervollständigung zu erhalten?

+0

** sp_help [] **, ** sp_helpdb [] **, auch ** sp_tables ** und ** sp_columns [] **. – gavenkoa

5

Neuere Version Verwendung sysobjects:

SELECT name FROM sysobjects WHERE type = 'U'; 

Grüße,