Как мы можем обновить более 1 таблицы? - PullRequest
0 голосов
/ 31 марта 2011

Моя база данных - Oracle 10g.

У меня есть 5 разных таблиц, и у каждой есть статус столбца, который имеет значение по умолчанию 'N'.

Теперь я хочу обновить все 5 таблиц и сделать этот статус «Y».

Так есть ли какой-либо отдельный запрос или способ, чтобы я мог обновить все 5 таблиц, не выполняя отдельное выполнение запроса на обновление?

Ответы [ 2 ]

11 голосов
/ 31 марта 2011

Даже если есть сложный ответ, я бы предпочел просто сделать:

UPDATE table1 SET columnX = "Y" ;
UPDATE table2 SET columnX = "Y" ;
UPDATE table3 SET columnX = "Y" ;
UPDATE table4 SET columnX = "Y" ;
UPDATE table5 SET columnX = "Y" ;

Теперь, если у вас есть 5000 таблиц, давайте поговорим об этом.

2 голосов
/ 02 апреля 2011

если имена таблиц следуют за регулярным выражением, вы можете написать код PL \ SQL, который:

  • извлекает все таблицы из таблицы объектов oracle;
  • создает переменную VARCHAR2 с помощью динамического операторадля обновления значения;
  • используйте пакет DBMS_SQL для выполнения этого динамического оператора;

пока

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...