Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Charles Weyland Member Откуда: Feorina "Fury" 161 Сообщений: 4353 |
Описание работы - ниже. Всё работает правильно. CREATE PROCEDURE [dbo].[GetHistory] @CardID Int, AS BEGIN SET NOCOUNT ON; With DirectReports (EarlyID, LaterID, [Card_ID],level) as ( Select HistoryGroupCode, GroupCode, Card_ID, 0 level from proj_CardForm where Card_ID = @CardID union all Select HistoryGroupCode, GroupCode, proj_CardForm.Card_ID, level + 1 from proj_CardForm Inner Join DirectReports on proj_CardForm.GroupCode = DirectReports.EarlyID ) Select distinct Card_ID from DirectReports end Функция должна вернуть то же, что и процедура. Просто результат работы функции можно использовать в другом запросе как таблицу, а результат работы процедуры - нет.. Таблица следующего вида (дерево):
Должен вызывать функцию так: Select * from GetHistory(1400) и он должен выдать мне
|
||||||||||||||||||||||||||||||
2 окт 13, 19:39 [14914634] Ответить | Цитировать Сообщить модератору |
pkarklin Member Откуда: Москва (Муром) Сообщений: 74925 |
Charles Weyland, BOL->CREATE FUNCTION (Transact-SQL)->Example C. |
2 окт 13, 19:49 [14914670] Ответить | Цитировать Сообщить модератору |
Гость333 Member Откуда: Сообщений: 3683 |
А при чём тут C# ? |
||
3 окт 13, 10:24 [14916498] Ответить | Цитировать Сообщить модератору |
ы
Guest |
почему нет? create table #temp... insert into #temp exec Процедура select * from #temp ну и процедура может возвращать сразу временную таблицу с данными |
||
3 окт 13, 12:35 [14917631] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |