Вы не можете проверить, является ли #tableTemporal
нулевым, потому что никогда не будет. Возможно, вы хотели проверить, есть ли строки, вставленные в #tableTemporal после выполнения exec paBltMarcarErroresBoleta
.
Если я правильно понял, я думаю, вы могли бы сделать после exec dbo.paBltMarcarErroresBoleta @boletaActual
что-то вроде:
DECLARE miCursor CURSOR FOR
SELECT
localizacion.c_Fk_IdBoleta
FROM
Blt_Boleta as boleta, Fnc_Localizacion as localizacion
WHERE
boleta.c_Pk_IdBoleta = localizacion.c_Fk_IdBoleta AND
localizacion.si_CodAsa = @id_Asa
FOR UPDATE OF Blt_Boleta.ti_Pk_IdEstadoRevision
А после exec dbo.paBltMarcarErroresBoleta @boletaActual
if not exists(select 1 from #tableTemporal)
update Blt_Boleta
set Blt_Boleta.ti_Pk_IdEstadoRevision=3
where current of miCursor
Но вы, вероятно, можете выполнить это лучше с помощью простого цикла while вместо курсора.