У меня есть переменная, которую я населяющих из отборного заявления (@ENTY_TABLE_NAME):объявленная переменная не рассматривается как заявил
DECLARE @ENTY_TABLE_NAME varchar(500)
DECLARE @ENTY_ID INT;
DECLARE @FIELD_ID INT;
DECLARE @VALUE VARCHAR(50);
SET @ENTY_ID = 1
SET @FIELD_ID = 90
SET @VALUE = '0'
SET @ENTY_TABLE_NAME =
(SELECT TOP 1 ENTY_TABLE_NAME
FROM ENTY
WHERE [email protected]_ID);
SELECT DISTINCT ATTR_VAL
FROM @ENTY_TABLE_NAME _ATTR
WHERE FIELD_ID= @FIELD_ID AND ATTR_VAL LIKE'%' + @VALUE + '%'
ORDER BY ATTR_VAL
После того как я пытаюсь использовать другой оператор выбора, но она возвращается сообщение об ошибке :
Msg 1087, Level 16, State 1, Line 26
Must declare the table variable "@ENTY_TABLE_NAME".
Почему я говорю, что я не объявлял переменную, что я объявляю факт? Как это исправить?
Это говорит вам, что вы не объявили * таблица * переменная (переменная является переменной 'varchar'). Вы не можете выбрать из переменной, как вы пытаетесь. – Jerrad