2016-03-15 3 views
0

У меня есть три стола - T1, T2 & T3.Нужно ли хранить хранимую процедуру

Для каждой строки в T1 мне нужно для извлечения всех данных из этой таблицы и некоторые другие столбцы из третьей таблицы T3 и вставить в T2 // Что распределяли версия T1

ли мне нужно хранить процедура для этого?

+2

Как добавлять данные? Это одна строка за раз, или это массовая загрузка многих строк? Как данные вставляются в T1 в настоящее время? Непосредственно из Java/некоторого другого кода без базы данных? – Boneist

ответ

3

Нет, вы этого не сделаете, это может быть сделано с помощью простой вставки, как выберите:

INSERT INTO T2 
SELECT t1.*,t3.col1,t3.col2... 
FROM T1 
LEFT OUTER JOIN t3 
ON(t1.ID? = t3.ID?) 

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

+0

Спасибо .. это немного помогает, есть некоторые проблемы здесь http://stackoverflow.com/questions/36008450/select-each-row-and-insert-into-another-table –

+0

Пока вы можете сделать это, используя только SQL , Я лично буду кодировать хранимую процедуру для обработки вставок как в T1, так и в T2. Таким образом, если какое-то другое приложение поступит так, что нужно сделать то же самое, у вас есть модуль повторного использования, и вам не нужно реплицировать логику в другом приложении. – Boneist

Смежные вопросы