Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запись результатов работы процедуры во временную таблицу,
|
|||
|---|---|---|---|
|
#18+
MS SQL сам создает таблицу, если мы запускаем запрос вида select col1, col2 as col3 into #tbl_tmp from dbo.tbl_realdata Можно ли сделать то же самое, но с процедурой? Что то вроде : Insert Into #Temp1 Exec dbo.sp_GetAllData @Name = 'Jason'. Нашел пока 2 способа реализовать подобное: https://stackoverflow.com/questions/42984503/how-to-insert-result-of-stored-procedure-into-temp-table-without-declaring-temp OPENROWSET не подходит из-за необходимости указывать данные подключения к серверу, а второй способ с sys.dm_exec_describe_first_result_set_for_object похоже работает только на простейших примерах, если есть несколько вариантов возвращаемых данных, используется with или темповые таблицы, он выдает ошибку. Есть ли какие еще варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 13:59 |
|
||
|
Запись результатов работы процедуры во временную таблицу,
|
|||
|---|---|---|---|
|
#18+
А что вы собрались делать с таблицой неизвестной структуры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 14:00 |
|
||
|
Запись результатов работы процедуры во временную таблицу,
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, Сравнивать результаты до и после изменений, необходимо для тестирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 14:12 |
|
||
|
Запись результатов работы процедуры во временную таблицу,
|
|||
|---|---|---|---|
|
#18+
DigimotOPENROWSET не подходит из-за необходимости указывать данные подключения к серверу Ещё OPENROWSET не подходит из-за невозможности выполнить любую процедуру, так можно выполнить только некоторые. Можно в принципе попробовать написать CLR функцию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:07 |
|
||
|
Запись результатов работы процедуры во временную таблицу,
|
|||
|---|---|---|---|
|
#18+
Digimot, ну в подобном извращении вышли через глобальную временную таблицу(мерзость :)). Или в процедуре сворачивать результаты в xml и возвращать его, потом разварачивать в таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:12 |
|
||
|
Запись результатов работы процедуры во временную таблицу,
|
|||
|---|---|---|---|
|
#18+
TaPaKDigimot, ну в подобном извращении вышли через глобальную временную таблицу(мерзость :)). Или в процедуре сворачивать результаты в xml и возвращать его, потом разварачивать в таблицыЭто для нахождения различия рекордсетов двух произвольных процедур? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:16 |
|
||
|
Запись результатов работы процедуры во временную таблицу,
|
|||
|---|---|---|---|
|
#18+
alexeyvgTaPaKDigimot, ну в подобном извращении вышли через глобальную временную таблицу(мерзость :)). Или в процедуре сворачивать результаты в xml и возвращать его, потом разварачивать в таблицыЭто для нахождения различия рекордсетов двух произвольных процедур? :-) та нет конечно, класический костыль :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 15:48 |
|
||
|
Запись результатов работы процедуры во временную таблицу,
|
|||
|---|---|---|---|
|
#18+
Digimot, 14086351 Результат будет содержать данные и метаданные. Так что получить в результате временную таблицу - дело техники. Хотя имея xml-и, можно и без временных таблиц обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 16:09 |
|
||
|
Запись результатов работы процедуры во временную таблицу,
|
|||
|---|---|---|---|
|
#18+
Digimot, Канонически процедуры должны возвращать код результата выполнения, никаких рекордсетов. Результат возвращают запросы. Но авторы серверов обычно применяют гибкий подход к потребителю с целью максимального сбора денежных средств :) Если Вы сможете обойтись без получения табличных данных из процедуры, то избежите проблемы, создаваемой сильной связанностью кода. Просто архитектурный совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 16:09 |
|
||
|
Запись результатов работы процедуры во временную таблицу,
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовDigimot, Канонически процедуры должны возвращать код результата выполнения, никаких рекордсетов. Результат возвращают запросы. Но авторы серверов обычно применяют гибкий подход к потребителю с целью максимального сбора денежных средств :) Если Вы сможете обойтись без получения табличных данных из процедуры, то избежите проблемы, создаваемой сильной связанностью кода. Просто архитектурный совет.Интересно посмотреть, где такие каноны прописаны :-) У меня другие :-) И что подразумевается под "сильной связанностью кода" в случае применения хранимых процедур для получения рекордсетов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 16:25 |
|
||
|
Запись результатов работы процедуры во временную таблицу,
|
|||
|---|---|---|---|
|
#18+
alexeyvgDigimotOPENROWSET не подходит из-за необходимости указывать данные подключения к серверу Ещё OPENROWSET не подходит из-за невозможности выполнить любую процедуру, так можно выполнить только некоторые. Об этом не знал, можно подробней про ограничения ? TaPaKDigimot, ну в подобном извращении вышли через глобальную временную таблицу(мерзость :)). Или в процедуре сворачивать результаты в xml и возвращать его, потом разварачивать в таблицы Идея в том чтобы не трогать и никак не менять процедуру специально для тестирования, иначе в нем пропадает смысл, глобальная таблица не решает проблему когда изменяется набор возвращаемых столбцов в процедуре. invmDigimot, 14086351 Результат будет содержать данные и метаданные. Так что получить в результате временную таблицу - дело техники. Хотя имея xml-и, можно и без временных таблиц обойтись. Почитаю, спасибо, похоже единственный вариант это xml? Владислав КолосовDigimot, Канонически процедуры должны возвращать код результата выполнения, никаких рекордсетов. Боюсь у нас такой подход не возможен, большая часть процедур возвращает таблицу или набор таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 17:15 |
|
||
|
Запись результатов работы процедуры во временную таблицу,
|
|||
|---|---|---|---|
|
#18+
DigimotalexeyvgЕщё OPENROWSET не подходит из-за невозможности выполнить любую процедуру, так можно выполнить только некоторые.Об этом не знал, можно подробней про ограничения ?Например: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 18:14 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1690362]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 369ms |

| 0 / 0 |
