Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
Добрый день! В общем проблема у меня такая: Устраиваюсь на работу в одну приятную контору(надеюсь hrы ихнии тут не сидят)) и мне дали дз вот такого вида: Напишите SQL операторы (возможно в форме хранимой процедуры), загружающие таблицу T_SOURCE в T_DESTINATION по следующим правилам: 1. Если в T_SOURCE есть строка, для которой в T_DESTINATION нет строк с аналогичными значениями полей K1, K2, то такая строка вставляется в T_DESTINATION. Поле DTTM = текущая дата + время. 2. Если в T_SOURCE есть строка, для которой в T_DESTINATION есть строка с аналогичными значениями полей K1, K2, то в такой строке T_DESTINATION обновляются значения полей C1, C2 на значения из соответствующей строки T_SOURCE. Поле DTTM = текущая дата + время. 3. Если в T_DESTINATION есть строка, для которой в T_SOURCE нет строк с аналогичными значениями полей K1, K2, то такая строка удаляется из T_DESTINATION. 4. Используйте SQL операторы insert, update, delete. В качестве СУБД используйте Microsoft SQL Server, возможно установить локально SQL Server Express Edition или использовать http://sqlfiddle.com. Таблицы T_SOURCE и T_DESTINATION: CREATE TABLE T_SOURCE ( K1 INT NOT NULL , K2 INT NOT NULL , C1 VARCHAR(10) NULL , C2 VARCHAR(10) NULL , PRIMARY KEY (K1, K2) ) GO CREATE TABLE T_DESTINATION ( K1 INT NOT NULL , K2 INT NOT NULL , C1 VARCHAR(10) NULL , C2 VARCHAR(10) NULL , DTTM DATETIME2 NOT NULL , PRIMARY KEY (K1, K2) ) GO Написал я эти процедуры(опыта работы с sql не очень много у меня, поэтому не уверен - будут ли они работать), если не сложно, проверьте меня)) Сами процедуры: 1) CREATE PROCEDURE insert_proc AS BEGIN INSERT INTO T_DESTINATION d(K1,K2,C1,C2,DTTM) SELECT s.*, GETDATE() FROM T_SOURCE s WHERE (s.K1,s.K2) NOT IN (SELECT * FROM T_DESTINATION GROUP BY K1,K2) END 2) CREATE PROCEDURE insert_proc AS BEGIN UPDATE T_DESTINATION d SET d.C1 = s.C1,d.C2 = s.C2,DTTM = GETDATE() FROM T_SOURCE s WHERE (d.K1,d.K2) IN (SELECT * FROM T_SOURCE GROUP BY (K1,K2) END 3) CREATE PROCEDURE insert_proc AS BEGIN DELETE FROM T_DESTINATION d WHERE (d.K1,d.K2) NOT IN (SELECT K1,K2 FROM T_SOURCE GROUP BY K1,K2) END ЗАРАНЕЕ СПАСИБО) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 13:51 |
|
||
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
chocobear69Устраиваюсь на работу в одну приятную контору(надеюсь hrы ихнии тут не сидят))А потом у нас в стране самолеты падают(с) chocobear69если не сложно, проверьте меня))а сам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:06 |
|
||
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
Все что вам надо - это MERGE. Один запрос для всех 3ех пунктов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:09 |
|
||
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
шК0ДЕР, Я имел ввиду синтаксис(не выглядит ли код совсем "убого" в глазах опытного кодера), самолеты не будут падать, донт ворри ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:15 |
|
||
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
Синтаксис вами придуман чуть менее, чем полностью. Запросы не скомпилируются даже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:18 |
|
||
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
шК0ДЕРВсе что вам надо - это MERGE. Один запрос для всех 3ех пунктов Ну в задании просто указаны именно эти операторы "4. Используйте SQL операторы insert, update, delete." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:18 |
|
||
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичСинтаксис вами придуман чуть менее, чем полностью. Запросы не скомпилируются даже. В смысле синтаксис создания хранимых процедур или сами запросы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:20 |
|
||
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ТС, проверьте сначала, что тут понаписали. PS не будем вдаваться в абсурдность самих этих процедур, но хоть синтаксис то вы должны соблюдать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:23 |
|
||
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
chocobear69Гавриленко Сергей АлексеевичСинтаксис вами придуман чуть менее, чем полностью. Запросы не скомпилируются даже. В смысле синтаксис создания хранимых процедур или сами запросы?Во всех смыслах. Мне вот интересно, вам даже лень установить экспресс или разобраться с указанным сайтом. Зачем вам это? Код: 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:24 |
|
||
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
chocobear69"4. Используйте SQL операторы insert, update, delete."По твоему в MERGE их нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:24 |
|
||
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
Код: 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. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:54 |
|
||
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
шК0ДЕРПо твоему в MERGE их нет?а смысл? если у вас задача написать на С++ не нужно предоставлять код на Java утверждая, что внутри JVM есть плюсы. у ТСа совершенно конкретная задача - показать умение выстроить логику инкрементальной подгрузки используя базовые операции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:55 |
|
||
|
Хранимые процедуры и не сложные запросы
|
|||
|---|---|---|---|
|
#18+
Дедушкау ТСа совершенно конкретная задача - показать умение выстроить логику инкрементальной подгрузки используя базовые операции.Он ее даже не пытается понять и начать, а просит решение со стороны. Я предложил самое простое. Базовые операции в ней включены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2018, 14:58 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39658869&tid=1689599]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 260ms |
| total: | 527ms |

| 0 / 0 |
