Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Insert результатов работы хранимой процедуры в темповую таблицу
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, друзья. Суть проблемы: В хранимке есть курсор, курсор отрабатывает N-ое кол-во раз, результат каждого select'a выводиться в отдельную "таблицу". Запрос 1, Запрос 2 и так далее. Когда я вызываю хранимку из Си-шарпного кода, и пытаюсь забрать результаты MySqlDataReader'ом, то получаю результат только из "Запрос1". Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. Вопрос такого харрактера, возможно ли какой-то инструкцией сказать хранимке, что она должна вернуть результат своей работы, что бы я мог засунуть результат её работы в какую то темповую таблицу и уже из неё читать всё. Или есть какой-то другой способ? Ресерч по данной теме навёл только на мысль использования темповой таблицы, но т.к. ХП по дефолту не возвращает никаких значений, использовать конструкцию Код: sql 1. не получается. Помогите, пожалуйста, дедлайн близок :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 19:17 |
|
||
|
Insert результатов работы хранимой процедуры в темповую таблицу
|
|||
|---|---|---|---|
|
#18+
Можно как передавать в процедуру требуемое имя (и использовать внутри неё prepared statements), так и наоборот, генерировать такое имя в процедуре и возвращать его через OUT-параметр (тогда наоборот, prepared statement потребуется для работы с результатом). Третий вариант - использовать предопределённое имя, но он подходит только для монопольной среды исполнения. Четвёртый - передавать в процедуру имя статической таблицы, а она в самом конце обработки скопирует туда записи из временной, которую создаст в процессе работы и шлёпнет после копирования. Так что путей решения проблемы дофига (тут перечислены не все). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 19:33 |
|
||
|
Insert результатов работы хранимой процедуры в темповую таблицу
|
|||
|---|---|---|---|
|
#18+
Akina, Передавать в процедуру требуемое имя чего? Не совсем уловил. Можете привести какой-то код для примера? Что касается статический таблицы, куда временная скопирует результаты после выполнения, Вы наверное не поняли. У меня не получается использовать временную таблицу для моего селекта. Приведу пример кода: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Если перед селектом пытаюсь вставить что-то типа Код: sql 1. , то ругается на синтаксис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 19:38 |
|
||
|
Insert результатов работы хранимой процедуры в темповую таблицу
|
|||
|---|---|---|---|
|
#18+
aggrosparrow, хранимки могут и возвращают все запросы , которые в них исполняются в java такое элементарно делается, должно быть и в си ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 19:46 |
|
||
|
Insert результатов работы хранимой процедуры в темповую таблицу
|
|||
|---|---|---|---|
|
#18+
вадя, while(reader.Read()) заканчивает выполняться после селекта с первым айдишником из курсора. Наверное я как-то не совсем ясно изложил суть проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 19:50 |
|
||
|
Insert результатов работы хранимой процедуры в темповую таблицу
|
|||
|---|---|---|---|
|
#18+
aggrosparrow, это называется мультирезультсет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 19:56 |
|
||
|
Insert результатов работы хранимой процедуры в темповую таблицу
|
|||
|---|---|---|---|
|
#18+
aggrosparrow, нужно прочитать следующий результсет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 19:58 |
|
||
|
Insert результатов работы хранимой процедуры в темповую таблицу
|
|||
|---|---|---|---|
|
#18+
вадя, да, точно. Уже нагуглил. Вроде нашел, то что искал. Сенкс! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 20:02 |
|
||
|
Insert результатов работы хранимой процедуры в темповую таблицу
|
|||
|---|---|---|---|
|
#18+
вадя, взлетело! Reader.NextResult() решило все мои проблемы. Стыдпозор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 20:06 |
|
||
|
Insert результатов работы хранимой процедуры в темповую таблицу
|
|||
|---|---|---|---|
|
#18+
aggrosparrow, удачи и дальше! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 20:18 |
|
||
|
Insert результатов работы хранимой процедуры в темповую таблицу
|
|||
|---|---|---|---|
|
#18+
aggrosparrowПередавать в процедуру требуемое имя чего? Не совсем уловил. Можете привести какой-то код для примера?Да временной таблицы, неужели непонятно? или ты уже успел забыть, о чём спрашивал? Шаблонно: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 20:21 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=84&tid=1831082]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 345ms |

| 0 / 0 |
