Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
Господа, был какой-то способ записать FOR XML PATH так, чтобы он не энкодил спецсимволы. SQL 2016 пока не 2017 (STRING_AGG еще нет). Или как-то по другому делалось Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 12:44 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 12:52 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
a_voronin, я делаю список столбцов так: Код: sql 1. 2. 3. 4. 5. 6. Давно отказался от склейки XML. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 13:32 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
CLS функция для агрегирования колонки в строку. Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 13:48 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
CLR, разумеется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 13:48 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
.Евгенийa_voronin, я делаю список столбцов так: Код: sql 1. 2. 3. 4. 5. 6. Давно отказался от склейки XML. 1. Это эксплуатация недокументированной фичи, которую не объявили deprecated только потому, что существует огромное количество кода, которое ее использует. Она нестандартна ниразу. 2. Используется лишняя переменная. Выражение нельзя непосредственно встроить в запрос. 3. '[' + p.COLUMN_NAME + '], ' - нужно использовать QUOTENAME() 4. set @ins = left(@ins, len(@ins) - 1) - Нужно складывать с ведущей запятой, а потом результат обрезать по первому символу с помощью STUFF([RESLT], 1, 1, ''). Не учите плохому, короче говоря. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 13:56 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
uaggster, скажу короче: 1. sp_MSforeachtable тоже плоха, угу, конечно. 2. О ужас. Переменные надо экономить. Лишняя переменная - это кусок хлеба, вырванный из ртов голодных детей Африки. 3 и 4. Не нужно, а можно. Не спорю, можно. Разницы в эффективности нет, внешне выглядит слегка симпатичнее, на версиях ранее 2008 не работает. В общем, успокойтесь и не нагнетайте. Все равно склейка посредством XML - либо большое, либо маленькое, но в любом случае зло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 14:46 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, Напомните, пожалуйста: StringBuilder в .Net - потокобезопасный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 15:06 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
uaggster1. Это эксплуатация недокументированной фичи, которую не объявили deprecated только потому, что существует огромное количество кода, которое ее использует. Она нестандартна ниразу. 2. Используется лишняя переменная. Выражение нельзя непосредственно встроить в запрос. 3. '[' + p.COLUMN_NAME + '], ' - нужно использовать QUOTENAME() 4. set @ins = left(@ins, len(@ins) - 1) - Нужно складывать с ведущей запятой, а потом результат обрезать по первому символу с помощью STUFF([RESLT], 1, 1, '').Это все несущественно. Существенно то, что в один прекрасный момент вместо списка можно получить только одно значение. Но, как правило, сторонников подобного кода это не останавливает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 15:08 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
.ЕвгенийВладислав Колосов, Напомните, пожалуйста: StringBuilder в .Net - потокобезопасный? А, это неважно. SqlUserDefinedAggregateAttribute.IsInvariantToOrder Property Remarks Reserved for future use. This property is not currently used by the query processor: order is currently not guaranteed . Что бы это значило? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 15:22 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
.Евгений3 и 4. Не нужно, а можно.3. - совершенно необходимо (и совершенно необременительно). Представьте, например, что имя содержит квадратные скобки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 15:23 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
iap, '[' + COLUMN_NAME + ']' и QUOTENAME(COLUMN_NAME) дают одинаковый результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 15:29 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
.Евгенийiap, '[' + COLUMN_NAME + ']' и QUOTENAME(COLUMN_NAME) дают одинаковый результат. Наслаждайтесь: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 16:31 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
uaggster, Согласен, что необходимость удвоения правой квадратной скобки я упустил. Спасибо, в будущем я это учту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 16:41 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
.ЕвгенийВладислав Колосов, Напомните, пожалуйста: StringBuilder в .Net - потокобезопасный? Сборка уровня безопасности SAFE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2019, 18:17 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов.ЕвгенийВладислав Колосов, Напомните, пожалуйста: StringBuilder в .Net - потокобезопасный? Сборка уровня безопасности SAFE. Уровень безопасности сборки в MSSQL, и thread safety в C# - это абсолютно разные и неперсекающиеся вещи. StringBuilder вообще и ни разу не потокобезопасен: https://stackoverflow.com/questions/8831385/is-nets-stringbuilder-thread-safe В исходниках версии FW 4.7.2 фигурирует использование неких методов типа ThreadSafeCopy, но ни синхронизации, ни проверки на принадлежность к текущему thread нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 06:09 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
По-моему, это не имеет значения, если только не объявлены statiс поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 12:19 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовПо-моему, это не имеет значения При работе в многопоточной среде с одним экземпляром еще как имеет. Различные мониторы, мьютексы, семафоры, и спинлоки придуманы не от нечего делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 14:30 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
Сон Веры Павловны, да, для решения проблемы совместного использования ресурсов. А в агрегате CLR откуда совместное использование? То есть существует риск, что упомянутый в контексте функции стрингбилдер выбросит исключение или подхватит чужую строку? Хотелось бы знать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 14:46 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовСон Веры Павловны, да, для решения проблемы совместного использования ресурсов. А в агрегате CLR откуда совместное использование? То есть существует риск, что упомянутый в контексте функции стрингбилдер выбросит исключение или подхватит чужую строку? Хотелось бы знать. Изначально был задан вопрос: .ЕвгенийВладислав Колосов, Напомните, пожалуйста: StringBuilder в .Net - потокобезопасный? Максимально общий ответ: нет. Поскольку в агрегате CLR нет совместного использования, то нет и кросспоточного взаимодействия, следовательно, изначальный вопрос был общего характера, т.к. в контексте использования в CLR-сборках MSSQL он (вопрос) смысла не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 18:29 |
|
||
|
For xml path без энкодинга спец символов
|
|||
|---|---|---|---|
|
#18+
Сон Веры ПавловныМаксимально общий ответ: нет. Поскольку в агрегате CLR нет совместного использования, то нет и кросспоточного взаимодействия, следовательно, изначальный вопрос был общего характера, т.к. в контексте использования в CLR-сборках MSSQL он (вопрос) смысла не имеет. Ну вообще CLR-сборки в MSSQL не ограничиваются агрегатами, и вполне могут быть содержать кросспоточное взаимодействие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2019, 18:39 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39799992&tid=1687970]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 263ms |
| total: | 406ms |

| 0 / 0 |
