SQL - выберите таблицы с номером строки XX - PullRequest
0 голосов
/ 16 января 2012

Некоторое время я искал в Google, но не нашел ответа на мою проблему. У меня есть 10 таблиц, в 5 из которых содержится 150 строк. Я хочу добавить 15 строк в эти 5 таблиц, есть ли простое решение для этого? Я знаю, что легко добавлять строки вручную, но я все равно хочу знать. Я ищу что-то вроде этого:

INSERT INTO all_tables VALUES (col1, col2, col3) WHERE row_number() = '150'

Возможно ли это? Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 16 января 2012

Одновременно можно назначать обновления только для одной таблицы, которая всегда должна указываться по имени. Кроме того, вы не можете указать предложение WHERE на INSERT. Лучше всего написать один INSERT и скопировать и вставить для остальных.

1 голос
/ 16 января 2012

Вы могли бы:

  1. Просмотрите список соответствующих имен таблиц.
  2. Запустите динамический запрос, например select count(*) into @c1 from SpecifiedTable, к соответствующей таблице, возвращая счетчик в объявленную переменную.
  3. Если возвращаемое значение равно 150, выполните другой динамический запрос, чтобы вставить соответствующие значения в указанную таблицу.

Подробнее о динамических запросах и возвращаемых из них значениях можно узнать в MySQL здесь . Если это один раз, вам, вероятно, будет проще сделать это вручную.

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