|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
Привет, есть 2 таблицы, условно: country id | country и к примеру cities: id | id_country | city Задача: вставить в cities n-ное количество городов определенной страны. Но если страны нет, вставить сначала страну, получить id вставленной записи, а потом только вставлять города. Можно ли это сделать без использования процедур ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2020, 18:43 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
bobo96 Можно ли это сделать без использования процедур ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2020, 19:43 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
alexeyvg bobo96 Можно ли это сделать без использования процедур ? Вы не могли бы привести пример, как это можно сделать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2020, 19:53 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
bobo96 alexeyvg пропущено... Да, можно, просто написав нужные запросы. Вы не могли бы привести пример, как это можно сделать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2020, 20:00 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
alexeyvg bobo96 пропущено... Вы не могли бы привести пример, как это можно сделать ? А, ну эт понятно) Думал мало ли одним красивым запросом можно такое провернуть. Будем тогда хранимку пилить, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2020, 20:06 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
bobo96 alexeyvg пропущено... ну как, вставка записи в страну, потом получаете ИД страны (записываете в переменную из SCOPE_IDENTITY), потом вставляете города, используя эту переменную как ИД страны. А, ну эт понятно) Думал мало ли одним красивым запросом можно такое провернуть. Будем тогда хранимку пилить, спасибо. Можно триггер написать instead off на city, но триггер же и есть хранимая процедура. Но то, про что я писал, не обязательно оформлять как хранимую процедуру, можно это выполнить как запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2020, 20:09 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
alexeyvg bobo96 пропущено... А, ну эт понятно) Думал мало ли одним красивым запросом можно такое провернуть. Будем тогда хранимку пилить, спасибо. Можно триггер написать instead off на city, но триггер же и есть хранимая процедура. Но то, про что я писал, не обязательно оформлять как хранимую процедуру, можно это выполнить как запрос. Я понимаю, что это просто в виде запросов можно сделать, просто делать это надо в spring'e, если понимаете, о чем я, мне кажется в этом случае проще хранимку сделать, тупо кода меньше писать) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2020, 20:13 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
bobo96 alexeyvg пропущено... Не, одним запросом нельзя. Можно триггер написать instead off на city, но триггер же и есть хранимая процедура. Но то, про что я писал, не обязательно оформлять как хранимую процедуру, можно это выполнить как запрос. Я понимаю, что это просто в виде запросов можно сделать, просто делать это надо в spring'e, если понимаете, о чем я, мне кажется в этом случае проще хранимку сделать, тупо кода меньше писать) Я подозреваю, что для всяких фреймворков такая ситуация является стандартной, типа вставить полный комплект записей мастер-детейл с любым количеством уровней вложенности, но это вам виднее. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2020, 21:54 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
bobo96 alexeyvg пропущено... Не, одним запросом нельзя. Можно триггер написать instead off на city, но триггер же и есть хранимая процедура. Но то, про что я писал, не обязательно оформлять как хранимую процедуру, можно это выполнить как запрос. Я понимаю, что это просто в виде запросов можно сделать, просто делать это надо в spring'e, если понимаете, о чем я, мне кажется в этом случае проще хранимку сделать, тупо кода меньше писать ) чисто тупо меньше кодить жесткому опытному кодеро-девелоперу, если вы понимате, о чем я ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 11:49 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
bobo96 alexeyvg пропущено... ну как, вставка записи в страну, потом получаете ИД страны (записываете в переменную из SCOPE_IDENTITY), потом вставляете города, используя эту переменную как ИД страны. А, ну эт понятно) Думал мало ли одним красивым запросом можно такое провернуть. Будем тогда хранимку пилить, спасибо. Одним запросом - нельзя. Двумя - можно. 1. Merge списка стран в таблицу стран output пары исходный ключ - результирующий ключ в темповую таблицу. 2. insert в таблицу городов с результирующими клчами Select from список городов inner join темповая таблица по исходному ключу. Но таки да. Лучше хранимку. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 19:05 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
bobo96, Если Вы старательно избегаете процедур в приложении, то роете себе яму. В случае изменения таблиц приложение станет неработоспособным, например, после рефакторинга базы, и его придется переписывать. Особый батхёрт получите при использовании EF или других FW. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 19:18 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
uaggster Одним запросом - нельзя. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 19:55 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
invm, где тут смайл "с изумлением протираю глаза"??? Оно так точно работать будет? ... надо попробовать. "Ну ваще" (С) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 06:09 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
uaggster, output выражение, если его не направить в таблицу, вернёт в этом выражении набор строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 11:17 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
invm uaggster Одним запросом - нельзя. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 14:00 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
У меня импортирующая хран. процедура (из тхт-файла) вставляет в 5 таблиц. Проверяет на существование, если нет, то вставляет как новое, получает новое ИД, вставляет этот ИД в таблицу. И т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 14:36 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
invm uaggster Одним запросом - нельзя. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Жаль, что ещё один уровень вложенности не прокатить. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 08:27 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
А где вообще про синтаксис хранимок почитать вменяемо можно? А то мне тут досталось хозяйство "привет из 2000 года", всё работает но надо новых фич добавить. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 20:53 |
|
Вставка в 2 связанные таблицы
|
|||
---|---|---|---|
#18+
new_bember А где вообще про синтаксис хранимок почитать вменяемо можно? А то мне тут досталось хозяйство "привет из 2000 года", всё работает но надо новых фич добавить. В документации прочитать одну страничку, и больше вы информации нигде не найдёте. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 21:31 |
|
|
start [/forum/topic.php?fid=46&fpage=52&tid=1685829]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 157ms |
0 / 0 |