|
|
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Всем привет. Есть 2 таблицы - дороги и мосты. create table road (idroad number NOT NULL CONSTRAINT road_p PRIMARY KEY, road_name varchar2(250) NOT NULL, road_beg_km number(8,3), road_end_km number(8,3), cortime date) create table bridge (idbridge number NOT NULL CONSTRAINT bridge_p PRIMARY KEY, bridge_name varchar2(250) not null, idroad number constraint bridge_r$rd references road(idroad) on delete cascade, road_km number(8,3), length_of_bridge (5,2), cortime date) Нужно написать процедуру добавления мостов на дорогах длиной более 10 километров, у которых отсутствуют мосты: идентификатор моста генерируется как максимальное значение первичного ключа плюс 1, имя моста "новый мост", километр моста равен половине длины дороги, длина моста = количеству символов наименования дороги 1. Получаем список дорог: select idroad from road where (road_end_km-road_beg_km)>10 and not exists (select * from bridge where bridge.idroad=road.idroad) 2. Добавление моста: create or replace procedure add_bridge (id_road in int) is id_bridge int; km number (8,3); length_bridge number (8,3); begin select (max(idbridge)+1) into id_bridge from bridge; select (road_end_km-road_beg_km)/2 into km from road where idroad=id_road; select length (road_name) into length_bridge from road where idroad=id_road; insert into bridge (idbridge, bridge_name, idroad, road_km, length_of_bridge, cortime) values (id_bridge, 'новый мост', id_road, km, length_bridge, sysdate); end; Объясните пожалуйста, как передать в процедуру список дорог? Создать массив? И как для каждой дороги из этого списка создать мост? Использовать курсоры, цикл? В общем, я не совсем представляю, как "связать" между собой список дорог и добавление мостов. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 14:25 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
NadzeyaЕсть 2 таблицы - дороги и мосты. Вариация извечной темы "дураки и дороги"? Зачем нужен мост на всех дорогам длиной более 10 километров, у которых отсутствуют мосты даже если нет рек, оврагов, ущелий, пересечений с другими дорогами и.т.д.? Для распила бюджета? Ну а "идентификатор моста генерируется как максимальное значение первичного ключа плюс 1" отдельная песня . SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 16:10 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
SY, Ты просто давно в университете не учился. Там ещё и не такой бред задают.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 16:39 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхТы просто давно в университете не учился. Там ещё и не такой бред задают.... Надеюсь хоть не на физтехе. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 16:46 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Это задание на SQL. Если не можете помочь, лучше уж тогда ничего не пишите, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 16:50 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
SYNadzeyaЕсть 2 таблицы - дороги и мосты. Ну а "идентификатор моста генерируется как максимальное значение первичного ключа плюс 1" отдельная песня . SY. А что тут смешного, по-вашему? То, что поле без автоинкремента? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 16:52 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
NadzeyaЭто задание на SQL. Если не можете помочь, лучше уж тогда ничего не пишите, пожалуйста. А задание на этом форуме дали ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 17:32 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
NadzeyaА что тут смешного, по-вашему? То, что поле без автоинкремента? Ну и как это будет работать в много-сессионной среде? SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 17:44 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
SYNadzeyaА что тут смешного, по-вашему? То, что поле без автоинкремента? Ну и как это будет работать в много-сессионной среде? SY. Не в этом суть. Необходимо написать процедуру. Задание абстрактное, на практике это применять никто не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 18:54 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Nadzeyaна практике это применять никто не будет. может быть, его тогда и писать не нужно? или вы хотите избавиться от надоедливого препода чужими руками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 19:26 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
NadzeyaОбъясните пожалуйста, как передать в процедуру список дорог? Ну так убери параметр из процедуры и измени INSERT VALUES на INSERT SELECT на базе Код: plsql 1. 2. 3. 4. 5. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 19:46 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
NadzeyaОбъясните пожалуйста, как передать в процедуру список дорог? Попробуйте метод Rubber duck debugging - на русском аналог ... даже не знаю, наверно разговор с зеркалом Посадите напротив себя резинового Утенка Начинайте задавать Утенку теже самые вопросы. Потом получите (от Утенка) на них ответ - А тебе зачем? А дальше ответьте ему зачем Вам это и чем оно Вам поможет. По факту сейчас этим Утенком выступает форум Вот мой Вам вопрос: А зачем Вам передавать в процедуру список дорог? Вы не можете его получить всредине процедуры или Вам его должны навязать извне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2017, 21:02 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Nadzeya, однопользовательский режим Код: plsql 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2017, 09:06 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Stax, не проснулся add_month - add_bridge ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2017, 09:24 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Staxне проснулся А почему не одним INSERTом? Код: plsql 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2017, 15:17 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
SYStaxне проснулся А почему не одним INSERTом? SY. можно/надо одним и возможно без процедуры чет запало в душу "как передать в процедуру список дорог" .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2017, 15:26 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
SY, Код: plsql 1. 2. 3. 4. 5. 6. очепятка ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2017, 15:39 |
|
||
|
хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Staxочепятка stax Спасибо. Забыл убрать: Код: plsql 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. 26. 27. 28. 29. 30. 31. 32. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2017, 17:19 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39508466&tid=1885389]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 523ms |

| 0 / 0 |
