Exists сбой в хранимой процедуре - PullRequest
0 голосов
/ 13 февраля 2019

Этот код работает:

declare @IDArticulo int = 12
declare @DescripcionArticuloVEL varchar(150) = (select top 1 DescripcionArticulo 
from TabVentasEnLineaDetalle where IDArticulo=@IDArticulo and exists (select DescripcionArticulo 
from TabVentasEnLineaDetalle where IDArticulo=@IDArticulo))
print @DescripcionArticuloVEL

, но в хранимую процедуру возвращает эту ошибку:

Сообщение 116, уровень 16, состояние 1, процедура SPMaestroArticulos, строка 43
Вы можете указать выражение в списке выбора, только если подзапрос не указан с EXISTS.

1 Ответ

0 голосов
/ 13 февраля 2019

Используйте один оператор SELECT.Внутренний оператор SELECT не нужен.Я бы переписал ваш запрос как:

SELECT TOP (1) @DescripcionArticuloVEL = DescripcionArticulo 
FROM TabVentasEnLineaDetalle 
WHERE IDArticulo = @IDArticulo; 
...