2010-11-26 10 views
2

informixにはMySQLのSHOW CREATE TABLE <tablename>と同等のものがありますか?私はServer StudioのSQLマネージャーでそれを実行したいと思いますし、テーブルの列とそのタイプに関する情報も取得したいと思っています。これは可能ですか?私はsystables、syscolumnsと情報スキーマを見つけましたが、私はselect * from...の出力で得られた結果で幸運ではありませんでした。InformixはmysqlのSHOW CREATE TABLEと同等です

答えて

5

私はそのようなSQLコマンドを知らない。 http://code.activestate.com/recipes/576621-dump-informix-schema-to-text/?in=user-186902:あなたはSYSTABLESを読みたい場合は

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"; 

、その後、テーブル、カラム、インデックスなどに関する情報をダンプ私のスクリプトを見て:コマンドラインからは、dbschemaユーティリティを使用することができます。そのソースには、使用できるシスタブルクエリーがあります。あなたはまた、

INFO COLUMNS FOR <table> 

でDB-AccessまたはISQL内から基本的な列名とタイプを取得することができ

1

私は、これはSQLマネージャで動作するかどうかわかりませんが、それは試して何も費用はかかりません。

+0

INFOステートメントがOUTPUT、LOADおよびUNLOADのようなものです - それはDB-Accessまたはによって認識された合成SQL文ですISQLフロントエンドであり、データベースサーバー自体ではありません。フロントエンドは、要求をサーバーに送信された適切なアクションに変換します。 INFOの場合、フロントエンドは応答を広範囲にフォーマットします。したがって、ODBCでこれらのステートメントを使用することはできません。 –

0

このSQL文は、などの列とタイプではなく、デフォルト値を、一覧表示されます

select 
    t.tabname, c.* 
from 
    systables t 
join 
    syscolumns c 
on 
    t.tabid = c.tabid 
where 
    t.tabname = 'table' 
関連する問題