Я не нашел способ сделать это. У меня есть большое заявление SQL, который выполняет следующие действия:Можно ли все это сделать одной функцией?
- проверки в течение двух временных таблиц, если найден удаляет их
- Объявляет локальные переменные
- Sets локальных переменные
- пробегов SQL statement1, который вставляет в # tmp1 (temp table)
- запускает SQL-инструкцию2, которая вставляет в # tmp2 (временная таблица)
- запускает SQL-инструкцию3, которая выбирает из # tmp1 и # temp2 (temp table) и возвращает исходные результаты
Выполнение этого в окне запроса работает нормально, но я хотел бы сделать одну функцию (или что-то еще), чтобы сделать то же самое.
EDIT1: Кажется, я могу вызвать функцию таблицы из excel и вернуть эти результаты, но я не могу вызывать сохраненный процесс proc из excel, я получаю сообщение об ошибке. Проблема с функцией таблицы заключается в том, что я не могу удалить (удалить) таблицы.
Какая у вас проблема, когда вы кладете все это в хранимую процедуру? Он должен работать нормально. Может быть, проблема в терминологии. Вы хотите «хранимую процедуру», а не «функцию». – David
Я не думал, что смогу вернуть стол, подумал, что мне нужно использовать функцию таблицы. Смогу ли я назвать это из Excel? – Baub
Шаги с 4 по 6 можно свести к одному SELECT, что позволяет избежать использования временных таблиц, но здесь недостаточно информации, чтобы рассказать вам, как выглядит этот запрос. –