2017-01-05 4 views
0

Я знаю, что syscat.tables существует в db2. я также пытался найти количество в user_tables и я получил выходной сигнал таким образом:Существует ли таблица, подобная user_tables (используется в oracle) в db2?

db2 => select count(*) from user_tables 

1 
----------- 
     999 

    1 record(s) selected. 

, но я не мог описать таблицу user_tables в то время как я мог бы описать любую другую таблицу.

Пример:

db2 => describe table user_tables 

           Data type      Column 
Column name      schema Data type name  Length  Scale Nulls 
------------------------------- --------- ------------------- ---------- ----- ------ 

    0 record(s) selected. 

SQL0100W No row was found for FETCH, UPDATE or DELETE; or the result of a 
query is an empty table. SQLSTATE=02000 

Не могли бы вы помочь мне понять, почему это происходит?

+0

Просьба уточнить, что вы хотите достичь, и исправить орфографию. – Sebi

+0

Я отформатировал код вашего вопроса. Пожалуйста, также старайтесь писать, используя правильную грамматику и стиль, чтобы было легко прочитать ваш вопрос. – Llopis

+0

Попробуйте указать схему: 'описать таблицу sysibmadm.user_tables' – mustaccio

ответ

0

DB2 имеет Oracle compatibility mode, который должен быть включен для базы данных. Как часть этого пользователя, вы можете выбрать Oracle data dictionary-compatible views. Один из видов - user_tables.

Не могли бы вы попробовать следующее (не проверено):

describe select * from user_tables 

Это должно вернуть схему для таблицы результатов, которая является то, что вид.

+0

thank ..it works fine :) – Harsha