Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Помогите с переменной типа TABLE (число прочтений - 1015 )
KotMurza
Junior Member
**
Отсутствует


1C++ user

Сообщений: 24
Местоположение: Киев
Зарегистрирован: 20. Января 2013
Пол: Мужской
Помогите с переменной типа TABLE
04. Января 2015 :: 14:40
Печать  
HELP!
Предистория:
объявляю табличную функцию. Рабочая - проверено.
Привожу во избежание лишних вопросов
Код
Выбрать все
CREATE FUNCTION dbo.Hierarchy (@ТМЦ CHAR(9)) RETURNS TABLE
  AS RETURN (
   WITH FullDescr (ID, ParentID) AS
  (
     SELECT Спр.ID, Спр.ParentID FROM $Справочник.ТМЦ AS Спр WHERE Спр.ID=@ТМЦ
     UNION ALL
     SELECT ddd.ID, ddd.ParentID FROM $Справочник.ТМЦ AS ddd
     INNER JOIN FullDescr AS fd ON fd.ParentID=ddd.ID
   )  

  SELECT $ВидСправочник36.ТМЦ+ FD.ID AS [Val $Справочник] FROM FullDescr AS FD WHERE FD.ID<>@ТМЦ
   UNION ALL SELECT $ВидСправочник36.СемьиМарокТМЦ+$Спр.Семья AS [Val $Справочник] FROM $Справочник.ТМЦ AS Спр WHERE Спр.ID=@ТМЦ AND NOT ($Спр.Семья=$ПустойИД)
           )
 



Теперь о проблеме:
Конструкция с выборкой из табличной функции
Код
Выбрать все
	DECLARE @ТМЦ CHAR(9) SET @ТМЦ =?  
	SELECT * FROM dbo.Hierarchy(@ТМЦ )
 

работает отлично.

Если значение функции вставить в переменную типа TABLE
Код
Выбрать все
	DECLARE @ТМЦ CHAR(9) SET @ТМЦ =?  
	DECLARE @Hierarchy TABLE(ТМЦ CHAR(13))  
	INSERT INTO @Hierarchy SELECT * FROM dbo.Hierarchy(@ТМЦ)
	SELECT * FROM @Hierarchy
 

система "падает".

Я уже исчерпал свои познания в данном вопосе и варианты кода.
Помогите, кто чем может
  
Наверх
IP записан
 
KotMurza
Junior Member
**
Отсутствует


1C++ user

Сообщений: 24
Местоположение: Киев
Зарегистрирован: 20. Января 2013
Пол: Мужской
Re: Помогите с переменной типа TABLE
Ответ #1 - 04. Января 2015 :: 14:45
Печать  
Коллеги, прошу прощения за беспокойство.
Лечится
Код
Выбрать все
SET NOCOUNT ON 



Пост оставляю в качестве примера кода с рекурсией
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать