Как мне получить доступ к столбцу, который был сохранен во временной табличной переменной в SQL Server

#sql #sql-server

#sql #sql-server

Вопрос:

Как мне получить доступ к столбцу, который был сохранен во временной табличной переменной?

Я попытался получить к нему доступ таким образом:

 set @Name = WeekName;
  

но я получаю сообщение об ошибке «имя недели столбца не определено».

 DECLARE @ListOWeekDays TABLE 
                       (
                          DayNumber INT,
                          DayAbb VARCHAR(40), 
                          WeekName VARCHAR(40)
                       )
DECLARE @Name VARCHAR(40);

INSERT INTO @ListOWeekDays
VALUES 
(1, 'Mon', 'Monday')  ,
(2, 'Tue', 'Tuesday') ,
(3, 'Wed', 'Wednesday') ,
(4, 'Thu', 'Thursday'),
(5, 'Fri', 'Friday'),
(6, 'Sat', 'Saturday'),
(7, 'Sun', 'Sunday')    

DELETE @ListOWeekDays 
WHERE DayNumber = 1

UPDATE @ListOWeekDays 
SET WeekName = 'Saturday is holiday'  
WHERE DayNumber = 6

SELECT * FROM @ListOWeekDays

SET @Name = WeekName;
PRINT @Name;
  

Комментарии:

1. как и любой другой столбец, единственное отличие заключается в том, что таблица является переменной SELECT [DyNumber] ИЗ @ListOWeekDays;

Ответ №1:

Вам нужно определить SELECT запрос, чтобы получить значение из временной табличной переменной — как и в случае с любой другой таблицей:

 SELECT @Name = WeekName
FROM @ListOfWeekDays
-- add whatever condition makes sense here
WHERE DayNumber = 5;
  

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