Я делал это раньше, используя сценарии sql и делая несколько проходов для базы данных.
Вы можете сделать то же самое, если используете функцию findMax, если у вас есть SQL, подобный этому:
select 'findMax( ' || tabname || ' , ' || colname || ')'
from syscat.columns where identity = 'Y'
Просто перенаправьте вывод этого sql в текстовый файл, а затем запустите текстовый файл как sql.
Вы также можете сделать это напрямую с помощью ALTER TABLE, но я думаю, что вам потребуется три прохода.