Estoy teniendo algunos problemas con esta declaración, sin duda debido a mi ignorancia de lo que se devuelve de esta instrucción de selección:memorización de un select count (*) a un entero (SQL Server)
declare @myInt as INT
set @myInt = (select COUNT(*) from myTable as count)
if(@myInt <> 0)
begin
print 'there's something in the table'
end
Hay registros en myTable, pero cuando ejecuto el código anterior, nunca se ejecuta la declaración de impresión. Verificaciones adicionales muestran que myInt es de hecho cero después de la asignación anterior. Estoy seguro de que me falta algo, pero asumí que un recuento selectivo devolvería un escalar que podría usar anteriormente.
Este código funciona bien para mi en un par de servidores al que tengo acceso. ¿Puede explicar la situación que está causando este comportamiento? ¿Un antiguo "SELECT COUNT (*) FROM Table" devuelve lo que esperas? – SqlRyan