2010-11-26 2 views
2

Есть ли какой-либо эквивалент MySQL SHOW CREATE TABLE <tablename> в informix? Я хотел бы запустить его в SQL Manager на Server Studio, а также получить информацию о столбцах таблиц и их типах. Это возможно? Я нашел systables, syscolumns и информационную схему, но не повезло с результатами, которые я получил с результатом select * from....Informix эквивалент mysql SHOW CREATE TABLE

ответ

5

Я не знаю такой команды SQL. Из командной строки можно использовать dbschema утилиту:

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

Если вы хотите прочитать SYSTABLES, то посмотрите на мой сценарий, который сваливает информацию о таблиц, столбцов, индексов и т.д.: http://code.activestate.com/recipes/576621-dump-informix-schema-to-text/?in=user-186902. В его источнике вы найдете запросы systables, которые вы можете использовать.

1

Вы также можете получить основные имена столбцов и типы внутри DB-Access или ISQL с

INFO COLUMNS FOR <table> 

Я не знаю, работает ли это в SQL Manager или нет, но это ничего не стоит попробовать.

+0

Заявление INFO, как выход, загружать и выгружать - это синтетический оператор SQL, который распознается DB-Access или ISQL, а не сервером базы данных как таковой. Интерфейс переводит запрос в соответствующие действия, отправленные на сервер. В случае с INFO внешний интерфейс форматирует ответ довольно широко. Таким образом, вы не можете использовать эти инструкции в ODBC. – 2010-11-30 02:14:42

0

Этот SQL оператор перечисляет столбцы и типы, но не по умолчанию, и т.д.

select 
    t.tabname, c.* 
from 
    systables t 
join 
    syscolumns c 
on 
    t.tabid = c.tabid 
where 
    t.tabname = 'table' 

 Смежные вопросы

  • Нет связанных вопросов^_^