2009-02-14 3 views

ответ

3

Все эти метаданные хранятся в таблицах каталога DB2 в схеме «SYSIBM». Он варьируется для продукта мейнфрейма DB2/z и распределенного продукта DB2/LUW, но они приближаются и приближаются к каждой версии.

IBM удобно размещает все свои руководства на сайте publib для доступа к миру. В моей области знаний DB2/z есть страницы, которые вы хотите here.

Есть целый ряд таблиц там, что вам нужно ссылаться:

SYSTABLES  for table information. 
SYSINDEXES \ 
SYSINDEXPART + for index information. 
SYSKEYS  /
SYSCOLUMNS  for column information. 

Список всех информационных центров here, которая укажет вам на версию DB2/LUW, если это ваша сфера интересов ,

+0

Привет Pax, Вы можете кадр выше ответ на запрос, то это будет очень полезно для меня .. ТИА –

+0

я копирую все мои таблицы в другое табличное пространство на экспорт таблиц и импорт с возможностью создания с различными именами. Я заметил, что основной индекс составляет . Однако мои вторичные индексы не являются , потому что одно и то же имя индекса уже существует. Теперь я пытаюсь получить инструкции ddl для тех индексов . Является ли какой-либо орган, дающий мне операторы db2look для , получите только индекс инструкций ddl для этой базы данных. Заранее спасибо –

4

Синтаксис Описывать таблицы

db2 describe table <tablename> 

или Для всех деталей таблицы

select * from syscat.tables 

или Для всех деталей таблицы

select * from sysibm.tables 
10

В дополнение к DESCRIBE TABLE, вы можете использовать ниже

DESCRIBE INDEXES FOR TABLE *tablename* SHOW DETAIL 

для получения информации о индексах таблицы.

Наиболее полную информацию о таблице для DB2 для Linux, UNIX и Windows можно получить из утилиты db2look, которую можно запускать с удаленного клиента или непосредственно на сервере DB2 в качестве локального пользователя. Инструмент создает DDL и другую информацию, необходимую для имитации таблиц и их статистических данных. Документы для db2look в DB2 9.5: here.

Следующая db2look команда будет подключаться к базе данных SalesDB и получить DDL команды, необходимые для воссоздания таблицы заказов

db2look -d SALESDB -e -t ORDERS 
1

Описывать синтаксисе таблицы

describe table schemeaName.TableName 
+0

Привет Rajesh .. знаете ли вы какой-либо запрос, который даст оператор ddl только для таблицы/индекса? TIA –

8

Я знаю, что это старый вопрос, но это выполнит эту работу.

SELECT colname, typename, length, scale, default, nulls 
    FROM syscat.columns 
WHERE tabname = '<table name>' 
    AND tabschema = '<schema name>' 
ORDER BY colno 
+0

Привет Тодд .. У вас есть какой-либо запрос, который даст оператор ddl для таблицы/индекса? TIA –

+0

К каким версиям DB2 это относится? Я работаю с 7.2 и, похоже, не работает. –

+1

Очевидно, что для более старых версий вам нужно использовать sysibm, а не syscat. –

2

Щелкните правой кнопкой мыши таблицу в Центре управления DB2 и выберите Generate DDL ... Это даст вам все, что вам нужно, и многое другое.

1

Попробуйте следующее:

DESCRIBE SELECT * FROM TABLE_name 
1

вы можете использовать следующую команду, чтобы увидеть полные характеристики БД

db2look -d <DB NAme>-u walid -e -o 

вы можете использовать следующую команду, чтобы увидеть полные характеристики схемы

db2look -d <DB NAme> -u walid -z <Schema Name> -e -o 

Вы можете использовать приведенную ниже команду, чтобы увидеть полную информацию о ta ble

db2look -d <DB NAme> -u walid -z <Schema Name> -t <Table Name>-e -o 

Вы также можете посетить приведенную ниже ссылку для получения более подробной информации. https://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=%2Fcom.ibm.db2.udb.admin.doc%2Fdoc%2Fr0002051.htm

+1

Чтобы проверить индексы на таблице, используйте приведенную ниже команду, опишите индексы для таблицы schemaName.TableName –

+1

. Чтобы проверить детали индексов на таблице, используйте приведенную ниже команду, опишите индексы для таблицы schemaName.TableName показать подробно –

4

db2look -d <db_name> -e -z <schema_name> -t <table_name> -i <user_name> -w < пароль >> < имя_файла > .sql

Для получения дополнительной информации, пожалуйста, обратитесь ниже:

db2look [-h] 

    -d: Database Name: This must be specified 

    -e: Extract DDL file needed to duplicate database 
    -xs: Export XSR objects and generate a script containing DDL statements 
-xdir: Path name: the directory in which XSR objects will be placed 
    -u: Creator ID: If -u and -a are both not specified then $USER will be used 
    -z: Schema name: If -z and -a are both specified then -z will be ignored 
    -t: Generate statistics for the specified tables 
    -tw: Generate DDLs for tables whose names match the pattern criteria (wildcard characters) of the table name 
    -ap: Generate AUDIT USING Statements 
    -wlm: Generate WLM specific DDL Statements 
    -mod: Generate DDL statements for Module 
    -cor: Generate DDL with CREATE OR REPLACE clause 
-wrap: Generates obfuscated versions of DDL statements 
    -h: More detailed help message 
    -o: Redirects the output to the given file name 
    -a: Generate statistics for all creators 
    -m: Run the db2look utility in mimic mode 
     -c: Do not generate COMMIT statements for mimic 
     -r: Do not generate RUNSTATS statements for mimic 
    -l: Generate Database Layout: Database partition groups, Bufferpools and Tablespaces 
    -x: Generate Authorization statements DDL excluding the original definer of the object 
    -xd: Generate Authorization statements DDL including the original definer of the object 
    -f: Extract configuration parameters and environment variables 
    -td: Specifies x to be statement delimiter (default is semicolon(;)) 
    -i: User ID to log on to the server where the database resides 
    -w: Password to log on to the server where the database resides 
+0

Существует много вариантов генерации ddl конкретной таблицы db2. Пожалуйста, выберите необходимую информацию для поиска. – user4105809

0

Я только что натолкнулся на этот запрос на descr IBE столик winsql

select NAME,TBNAME,COLTYPE,LENGTH,REMARKS,SCALE from sysibm.syscolumns 
where tbcreator = 'Schema_name' and tbname='Table_name' ; 
0

DB2 Версии 11.0

Columns: 
-------- 
SELECT NAME,COLTYPE,NULLS,LENGTH,SCALE,DEFAULT,DEFAULTVALUE FROM SYSIBM.SYSCOLUMNS where TBcreator ='ME' and TBNAME ='MY_TABLE' ORDER BY COLNO; 

Indexes: 
-------- 
SELECT P.SPACE, K.IXNAME, I.UNIQUERULE, I.CLUSTERING, K.COLNAME, K.COLNO, K.ORDERING 
FROM SYSIBM.SYSINDEXES I 
    JOIN SYSIBM.SYSINDEXPART P 
     ON I.NAME = P.IXNAME 
     AND I.CREATOR = P.IXCREATOR 
    JOIN SYSIBM.SYSKEYS K 
     ON P.IXNAME = K.IXNAME 
     AND P.IXCREATOR = K.IXCREATOR 
WHERE I.TBcreator ='ME' and I.TBNAME ='MY_TABLE' 
ORDER BY K.IXNAME, K.COLSEQ; 
Смежные вопросы