Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
Добрый день. Вопрос достаточно тривиальный, но я новичок, поэтому не могу справиться без сторонней помощи - с синтаксисом беда. Есть некая таблица [dbo].[temp_geo], в которой есть строковые [adr],[formatted_adr],[postal_code],[place_id]. [adr] - адреса в произвольном формате, остальные значения нужно заполнить. Есть написанная процедура [dbo].[GeoCode], которая скармливает [adr] Google API и возвращает [formatted_adr],[postal_code],[place_id]. Процедуру полностью описывать не буду, суть: [dbo].[GeoCode] @InputAdr varchar (max) /*отправляем запрос гуглу, получаем ответ*/ SELECT @RespAddr as formatted_adr, @PosCode as postal_code, @PlaceID as place_id Вопрос - как мне дополнить данными, получаемыми процедурой, таблицу [dbo].[temp_geo]? Не пойму, как в коде процедуры написать update. В Excel-VBA пользуюсь этим скриптом давно, там это делается циклом быстро и прекрасно. Спасибо заранее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 11:59 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
Mamkin_proger, Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 12:16 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
Думал об одном, написал другое... Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 12:18 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
В стандартных T-SQL запросах (SELECT, INSERT, DELETE, UPDATE), практически всегда, в тех местах, где скалярное значение пожно подставить: - константу - скалярную переменную (Ваш случай) - подзапрос, возвращающий скалярное значение Т.е. пишите обычный UPDATE, который меняет ваши данные, а на месте VALUES подставляете вместо констант ваши переменные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 12:18 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
Yuri Abele... а на месте VALUES ... Тьфуты! Я имел в виду в SET выражении. Но Вам уже выше написали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 12:20 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
Yuri AbeleНо Вам уже выше написали Не, не совсем: Код: sql 1. 2. 3. 4. 5. 6. 7. Но вам тут очень сильно не зватает нормального ключевого поля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 12:25 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
Yuri Abele, Всё равно не пойму. Вот процедура [dbo].[GeoCode]: Код: 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. 43. 44. 45. 46. 47. 48. 49. Надеюсь на понимание, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 13:25 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
Самой последней строчкой. ----------------------------------- P.S. Но, вообще, я бы, как архитектор, только без обид, за такое руки оторвал! Мы на проектах тоже Google GEO API используем. Но не внутри базы данных!!! Вот то место, откуда это все из Middle Layer (что у вас там - .NET, Access VBA, etc.) вызывается, вот оттуда и дёргать внешний сервис. В "нормальных" инфраструктурах Productive серверы, особенно RDBMS, вообще выхода в Internet не имеют. Вот GEO расширения MSSQL использовать, это дело! Например, чтобы получить из базы показывать на карте только те точки, которые в видимый регион попадать. У нас тысячи таких точек, а показываться за раз, хорошо если десяток будет, поэтому такое очень актуально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 15:26 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
И еще раз - вам остро необходимо нормальное (INT, BIGINT или GUID) ключевое поле. Не стоит использовать Business Information в роли Primary Key http://lissianski.narod.ru/zamyslov/sk1.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 15:33 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
Mamkin_progerВот процедура [dbo].[GeoCode]:переделай ХП на табл.функцию, и всё станет на порядок проще Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ------ а с ХП придётся "крутить" cursor, сбрасывать результат ХП во времянку и обновлять [dbo].[temp_geo] из неё И всё это по одной записи, в цикле курсора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 16:08 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
courtпеределай ХП на табл.функцию Не выдет, у него EXEC внутри, да еще и не один ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 17:55 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
Yuri Abele, Поддержу в плане совать это в sql.слой в appl или любой шедулер а в базе только хранение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 21:40 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
Yuri Abelecourtпеределай ХП на табл.функцию Не выдет, у него EXEC внутри, да еще и не одинspOA вроде можна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 23:57 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
courtYuri Abeleпропущено... Не выдет, у него EXEC внутри, да еще и не одинspOA вроде можна Да само слово EXEC уже запрещено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2019, 13:29 |
|
||
|
Google Geocoding API + SQL
|
|||
|---|---|---|---|
|
#18+
Yuri Abelecourtпропущено... spOA вроде можна Да само слово EXEC уже запрещенобрэхня :) Код: 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. Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2019, 13:43 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39831072&tid=1687611]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 398ms |

| 0 / 0 |
