#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 возвращает только одну строку — например, указав значение первичного ключа или какое-либо другое уникальное значение.