Существует ли тип данных ROWID в DB2/400?
Я работаю над проектом с несколькими базами данных. В этом проекте мы используем DB2/400, и нам нужно знать свойства столбца таблицы.
Цель состоит в том, чтобы определить, имеет ли этот столбец идентификатор типа ROW
С SQLServer эквивалентная команда:
select object_NAME (ID) as ObjectName, Name as IdentityColumn from syscolumns
where COLUMNPROPERTY (id, name, 'IsIdentity') = 1 and
object_NAME (ID) = 'Table_Name';
Этот оператор перечисляет столбец ROW ID указанной таблицы.
Я ищу эквивалентную команду с DB2/400.
Я попытался запросить у таблицы QADBIFLD значение "qsys", но, похоже, ни один столбец не содержит эту информацию.
Я думаю, что в QSYS должна быть системная таблица, которая может предоставить эту информацию, но я не могу ее достать.
Если у кого-то есть идея, спасибо за вашу помощь.
1 ответ
Прежде всего обратите внимание, что ROWID обычно является термином, применяемым к псевдостолбцу Oracle ROWID...
Вы просто ищете автоматически генерируемые столбцы идентификации...
В Db2 для меня...
select table_schema, table_name, column_name
from qsys2.syscolumns
where is_identity = 'YES'