Я обнаружил, что вызвать хранимую процедуру в Excel не так просто, как должно быть, но вызвать представление или прямую таблицу очень просто. Итак, как я могу создать представление, которое будет вызывать сохраненную процедуру без параметров?
Я знаю, что не смогу передавать какие-либо значения в представление, и мне это не нужно и не хочу, просто хочу обернуть сохраненную процедуру в представление.
что-то вроде select exec MyStoredProc() было бы здорово.





У вас должна быть возможность поместить триггер на фиктивную таблицу и вызвать процедуру внутри триггера.
Это определенно взлом, и вы действительно хотели бы заблокировать разрешения для таблицы и процедуры.
Но не могли бы вы затем вернуть результаты срабатывания триггера (при условии, что Русс этого хочет)?
Вот один сценарий, в котором мне нужно было бы использовать представление. В LINQ to Entities процесс сопоставления набора результатов из хранимой процедуры с настраиваемой сущностью требует, чтобы вы вручную обновляли файл .edmx, что нехорошо, поскольку изменения теряются каждый раз, когда вы обновляете модель из базы данных. Итак, было бы неплохо сопоставить набор результатов с представлением.
iirc (у меня нет копии под рукой), если вы используете T-SQL, должна быть возможность выбрать * из определяемая пользователем табличная функция (которые в большинстве случаев идентичны sprocs), который возвращает табличную переменную.
Это отличное решение, позволяющее избежать проблем с безопасностью, которые беспокоят Расс.
Обычно я бы выбрал этот вариант, но рассматриваемая хранимая процедура является вершиной нескольких вложенных хранимых процедур, и преобразование их всех в функции нереально в данном конкретном случае. В этом случае у меня есть несколько вложенных хранимых процедур, которые выполняют несколько запросов xpath.
да, надеюсь, он заметит :)