Запрос на выборку всех таблиц в схеме / БД с определенным столбцом VALUE. - PullRequest
1 голос
/ 07 июня 2019

Есть ли запрос для отображения всех таблиц с определенным столбцом VALUE?

Я знаю, как получить все таблицы, в которых есть определенный столбец, но я хочу расширить его, чтобы найти конкретное значение, а затем обновить соответствующие результаты, чтобы изменить это значение.

select c.tabschema as schema_name,
       c.tabname as table_name
from syscat.columns c
inner join syscat.tables t on
      t.tabschema = c.tabschema and t.tabname = c.tabname
where c.colname = 'START_DATE' and c.tabschema='sample'
and t.type = 'T'
*<AND 'START_DATE' ='2017-05-17' >*--NOT SURE HOW WE DO THIS PART??
order by schema_name,
         table_name;

Затем я захотел выпустить обновление для полученных таблиц, чтобы обновить столбец «START_DATE» VALUE, что-то вроде ниже

UPDATE <ALL RESULTED_TABLES FROM ABOVE QUERY> SET START_DATE = '2017-05-09' WHERE Tables = <ALL RESULTED_TABLES> 

1 Ответ

0 голосов
/ 18 июня 2019

Вам нужно написать приложение, которое использует динамический SQL, чтобы осуществить это. Существует ряд различных интерфейсов для Db2, которые позволят вам сделать это, включая встроенный SQL, CLI, ODBC, Python, Perl и т. Д.

https://www.ibm.com/support/knowledgecenter/en/SSEPEK_11.0.0/intro/src/tpc/db2z_dynamicsqlapplications.html

...