Gibt es eine Entsprechung zu MySQL SHOW CREATE TABLE <tablename>
in informix? Ich möchte es im SQL Manager auf dem Server Studio ausführen und möchte auch Informationen über eine Tabellenspalten und ihre Typen erhalten. Ist das möglich? Ich habe die systables, syscolumns und das Informationsschema gefunden, aber war nicht glücklich mit den Ergebnissen, die ich mit der Ausgabe von select * from...
erhielt.Informix entspricht mysqls SHOW CREATE TABLE
2
A
Antwort
5
Ich kenne solche SQL-Befehl nicht. Von der Kommandozeile können Sie dbschema
Dienstprogramm verwenden:
C:\Informix>dbschema -t abc -d test
DBSCHEMA Schema Utility INFORMIX-SQL Version 11.50.TC6DE
{ TABLE "informix".abc row size = 4 number of columns = 1 index size = 0 }
create table "informix".abc
(
xxx integer
);
revoke all on "informix".abc from "public" as "informix";
Wenn Sie systables lesen möchten, dann an meinem Skript suchen, die Info-Dumps über Tabellen, Spalten, Indizes etc: http://code.activestate.com/recipes/576621-dump-informix-schema-to-text/?in=user-186902. In der Quelle finden Sie systables Abfragen, die Sie verwenden können.
1
Sie können auch die grundlegenden Spaltennamen und -typen aus DB-Access oder ISQL erhalten mit
INFO COLUMNS FOR <table>
Ich weiß nicht, ob diese in SQL Manager funktioniert oder nicht, aber es kostet nichts zu versuchen.
0
Diese SQL-Anweisung listet Spalten und Typen, aber nicht standardmäßig usw.
select
t.tabname, c.*
from
systables t
join
syscolumns c
on
t.tabid = c.tabid
where
t.tabname = 'table'
Die INFO-Anweisung ist wie OUTPUT, LOAD und UNLOAD - es ist eine synthetische SQL-Anweisung, die von dem DB-Zugriff erkannt wird oder ISQL-Frontend und nicht vom Datenbankserver an sich. Das Front-End übersetzt die Anforderung in entsprechende Aktionen, die an den Server gesendet werden. Im Falle von INFO formatiert das Front-End die Antwort dann sehr ausführlich. Sie können diese Anweisungen daher nicht mit ODBC verwenden. –