IF EXISTS(SELECT * FROM @ProblemTickets)
BEGIN
SELECT TOP 1 @IDTTIC = IDTTIC FROM @ProblemTickets
END
Exists чек Clause для exisitance чего-то, если он существует, то он возвращает истину, и если оно не получится return false, но вы не можете возвращать данные внутри предложения Exists.
Вы можете попробовать, как я показал выше
1- Проверьте существования чего-то 1.
2- Если он существует, получите первое значение в переменной.
* Предложение Аароном Bertrand *
Вы можете просто присвоить значение переменной без проверки на существование 1, если есть какие-либо данные в таблице значение будет присвоено переменной в противном случае переменная остается NULL.
При присвоении значения переменной в инструкции SELECT убедитесь, что ваш SELECT возвращает только одну строку назад, если, очевидно, вы уже выполняете SELECT TOP 1, но чтобы получить строку «Right TOP 1», вы должны использовать предложение ORDER BY также. Кроме того, при присвоении значений переменной в SELECT, вы не можете получить данные в то же время, если SELECT, возвращает более одного столбца все значения перестраиваемых должны храниться в переменной
Что-то вроде этого ..
SELECT TOP 1 @Var1 = Col1, @Var2 = Col2, @Var3 = Col3
FROM TABLE_Name
ORDER BY Some_Column
вы не можете сделать что-то вроде этого
SELECT TOP 1 @Var1 = Col1, @Var2 = Col2, Col3
FROM TABLE_Name
ORDER BY Some_Column
Это должно быть легко проверить, не так ли? – Twinkles
Не является также и юридическим синтаксисом. Чего вы пытаетесь достичь? – GarethD
Почему вы используете TOP без ORDER BY? –