2015-08-17 3 views
2

Я новичок в DB2 и я создал две таблицы «PROJECT_ADAPTERS» и «» PROJECT_APPLICATIONS под базы данных «WLADMIN»Как найти схему таблицы в DB2?

Я могу увидеть таблицы, используя «syscat.tables», как показано ниже

[[email protected] ~]$ db2 "select TABNAME from syscat.tables" | grep PROJ 
PROJECT_ADAPTERS               
PROJECT_APPLICATIONS               

Однако я не уверен, к какой схеме она принадлежит?

Я пытался писать небольшой скрипт, который перебирает все «схема»

schemaname=$(db2 -v select schemaname from syscat.schemata) 

for each_schema in $schemaname 
do 
    db2 list tables for schema $each_schema | grep PROJ 
done 

Однако, моих таблицы «PROJECT_ADAPTERS» и «PROJECT_APPLICATIONS» не отображается на любую схему

Что же я делать неправильно (или), где еще я должен искать?

Пожалуйста, помогите мне решить эту проблему

ответ

2

Большинство таблиц имеют несколько столбцов, то их можно использовать ...;)

select tabname,tabschema from syscat.tables where tabname like 'PROJECT%' должны показать свои таблицы и имя схемы.

Каталог SYSCAT.TABLES полностью задокументирован.

+0

db2 "выберите tabname, tabschema из syscat.tables, где tabname как 'PROJECT%'" дает мне схему PROJECT_ADAPTERS как 'cls'. Но, когда я набираю «db2 select * from cls.PROJECT_LOCK», он говорит: «CLS.PROJECT_LOCK» - это неопределенное имя. SQLSTATE = 42704 –

+0

Что такое схема для PROJECT_LOCK? Определена ли она вообще? вы можете увидеть запись для PROJECT_ADAPTERS. –

+0

Обе таблицы PROJECT_ADAPTERS и PROJECT_LOCK относятся к схеме CLS. Но я не получил «определено» для схемы. Пожалуйста, дайте мне знать, как проверить, была ли определена схема, и в случае, если не было определено, как определить схему? –

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