Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
Всем привет!
Подскажите, пожалуйста, решается ли на серверном уровне следующая задача:

я хочу вызвать хранимую процедуру и поместить ее результаты во временную табличку.
Собственно, хранимых процедур может быть много разных, а мне важно получить количество записей, которые возвращает ХП.

Т.е. не так:
CREATE TABLE #Output (ID INT, Name NVARCHAR(100))
INSERT INTO #Output
    EXECUTE dbo.ProcMyProcedure
SELECT COUNT(*) FROM #Output

а попроще, т.к. хранимых процедур много, и возвращают рекордсеты разной структуры.
Может быть, через XML как-нибудь притянуть и т.п.?
17 мар 16, 13:24    [18942816]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
Вернее, я даже не совсем так задачу обрисовал:

есть таблица с перечнем хранимых процедур (или вообще - скриптом).
Я хочу пройтись по ней, выполнить все скрипты и сохранить количество записей, которое вернул каждый скрипт.
Этакая система проверок, все скрипты должны возвращать 0 записей.
17 мар 16, 13:28    [18942847]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
постоянный мембер
Guest
Если не задействован выходной параметр Result то можно передавать из ХП кол-во записей через него.
17 мар 16, 13:28    [18942850]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Glass
есть таблица с перечнем хранимых процедур (или вообще - скриптом).

Они у вас что без параметров вообще ?
17 мар 16, 13:29    [18942858]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
Maxx
Glass
есть таблица с перечнем хранимых процедур (или вообще - скриптом).

Они у вас что без параметров вообще ?


Вообще да, это проверочные хранимые процедуры.

Но я уже выше написал - что это может быть произвольный скрипт, в том числе вызов хранимой процедуры с параметрами.
Допустим, я его через динамический SQL выполню, а результаты можно куда-нибудь сохранить?
17 мар 16, 13:31    [18942883]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Glass
а результаты можно куда-нибудь сохранить?

можно куда угодно сохранить, вот только таблицы/ексемель..етц прийдеться таки создавать
17 мар 16, 13:34    [18942906]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
Maxx
Glass
а результаты можно куда-нибудь сохранить?

можно куда угодно сохранить, вот только таблицы/ексемель..етц прийдеться таки создавать


Не, я так не хочу.
OPENROWSET можно было бы заюзать, но у меня он админом закрыт, к сожалению.

Неужели на клиенте придется делать? :(
17 мар 16, 13:36    [18942923]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glory
Member

Откуда:
Сообщений: 104751
Glass
Допустим, я его через динамический SQL выполню, а результаты можно куда-нибудь сохранить?

А зачем это на сервере то выполнять ?
17 мар 16, 13:36    [18942924]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Glass,

нарисуйте 3 строчки на повершеле и узбагойтесь :)
17 мар 16, 13:38    [18942941]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
Glory
Glass
Допустим, я его через динамический SQL выполню, а результаты можно куда-нибудь сохранить?

А зачем это на сервере то выполнять ?


Можно на клиенте сделать, но мне фактически нужно только проверять количество записей, которые возвращает ХП/произвольный скрипт, думал, можно на сервере сделать. Через OPENROWSET, насколько я понимаю, можно, но у меня к нему нет доступа, Ad hoc queries запрещены админом.

Ну и в целом - это функционал для админки веб-приложения (контроль данных), т.ч. не хотелось тянуть все это на клиента.
17 мар 16, 13:39    [18942948]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
Maxx
Glass,

нарисуйте 3 строчки на повершеле и узбагойтесь :)


Мне для юзеров надо еще в интерфейс вывести кое-что.
17 мар 16, 13:39    [18942951]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glory
Member

Откуда:
Сообщений: 104751
Glass
Мне для юзеров надо еще в интерфейс вывести кое-что.

А юзеры с сервером напрямую общаются ? Без участия клиентского приложения ?
17 мар 16, 13:40    [18942958]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Glass,

ну так сделайте себе таблицу логов работы вашей процедуры, а потом что хотите то и делайте.. хоть в почту хоть на ментальном уровне :)
17 мар 16, 13:40    [18942959]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
Glory
Glass
Мне для юзеров надо еще в интерфейс вывести кое-что.

А юзеры с сервером напрямую общаются ? Без участия клиентского приложения ?


Через веб-интерфейс на MVC.
Я знаю, что могу на клиенте это сделать, но проще на сервере, если есть возможность.
17 мар 16, 13:42    [18942969]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
TaPaK
Glass,

ну так сделайте себе таблицу логов работы вашей процедуры, а потом что хотите то и делайте.. хоть в почту хоть на ментальном уровне :)



у меня не одна процедура, а 20 разных. И я хочу сделать как можно проще для написания еще 30. Т.е. просто пишем ХП, а количество записей, которые она возвращает - это индикатор проблем.
17 мар 16, 13:43    [18942976]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glory
Member

Откуда:
Сообщений: 104751
Glass
но проще на сервере, если есть возможность.

ну раз на сервере проще, чем на клиенте, тогда что вы жалуетесь на необходимость создавания таблиц ?
17 мар 16, 13:44    [18942979]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
не... вы уж определитесь что надо, а то то просто выполнить то юзверям чет вывести....
17 мар 16, 13:44    [18942984]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glory
Member

Откуда:
Сообщений: 104751
Glass
у меня не одна процедура, а 20 разных. И я хочу сделать как можно проще для написания еще 30. Т.е. просто пишем ХП, а количество записей, которые она возвращает - это индикатор проблем.

Может просто надо найти подходящее ПО для SQA ? А не писать свое ?
17 мар 16, 13:45    [18942994]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Glory,

он хочет просто кнобку - Сделать усе
17 мар 16, 13:45    [18942995]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
Maxx
не... вы уж определитесь что надо, а то то просто выполнить то юзверям чет вывести....


Я уже определился - мне надо по произвольному списку скриптов вывести количество записей, которые каждый из них возвращает.
17 мар 16, 13:47    [18943010]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
Glory
Glass
у меня не одна процедура, а 20 разных. И я хочу сделать как можно проще для написания еще 30. Т.е. просто пишем ХП, а количество записей, которые она возвращает - это индикатор проблем.

Может просто надо найти подходящее ПО для SQA ? А не писать свое ?


Тут масштаб задачи микроскопический. Есть ряд скриптов для проверки данных, каждая проверка должна выдавать 0 записей.
Если не 0 - надо разбираться, в том, что конкретно выдает данный проверочный скрипт.

Единственный затык - как получить количество записей при выполнении произвольного скрипта, на серверной стороне (на клиентской - понятно, что можно).
17 мар 16, 13:49    [18943029]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glory
Member

Откуда:
Сообщений: 104751
Glass
Я уже определился - мне надо по произвольному списку скриптов вывести количество записей, которые каждый из них возвращает.

А если отдельный скрипт возвращает множество разных наборов ?
17 мар 16, 13:49    [18943030]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glass
Member

Откуда: Moscow
Сообщений: 252
Glory
Glass
Я уже определился - мне надо по произвольному списку скриптов вывести количество записей, которые каждый из них возвращает.

А если отдельный скрипт возвращает множество разных наборов ?


Скрипты я пишу сам, и каждый из них возвращает один набор.
17 мар 16, 13:50    [18943032]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Glory
Member

Откуда:
Сообщений: 104751
Glass
Тут масштаб задачи микроскопический.

Ну так "нарисуйте 3 строчки на повершеле и узбагойтесь :)"
17 мар 16, 13:50    [18943038]     Ответить | Цитировать Сообщить модератору
 Re: Залить результаты выполнения хранимой процедуры во врем.таблицу без предв.создания  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Glass,

ну так плин напишите все скрипты единообразно..чтоб возращали 1 поле количество запписей и заполняйте себе 1 таблицу свомим вызоовами... не городите огород непонятно чего,ей богу
17 мар 16, 13:51    [18943040]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить