Asignación de varias variables a una sola sentencia SELECT con SQL SERVER 2005

Hace poco necesite realizar un select que por lógica solo devolvería siempre un solo registro con varis columnas, debía capturar estas y realizar una serie de operaciones con las variables pues bueno esto no es tan fácil como pensamos quiero pasarles el código para realizar esta operación y además el link de donde lo saque espero les sirva:

DECLARE
    @reserved INT,
    @rowcnt INT,
    @used INT

SET @reserved = -1
SET @rowcnt = -1
SET @used = -1

;WITH x AS
(
    SELECT
        reserved,
        rowcnt,
        used,
        COUNT(*) OVER(PARTITION BY 1) AS theCount
    FROM sysobjects so
    INNER JOIN sysindexes si ON si.id = so.id
    WHERE
        so.name = 'sysrowsets'
)
SELECT
    @reserved = reserved,
    @rowcnt = rowcnt,
    @used = used
FROM x
WHERE theCount =
    (
        SELECT
            number
        FROM master..spt_values
        WHERE
            TYPE = 'p'
            AND number BETWEEN 1 AND theCount
    )

SELECT @reserved, @rowcnt, @used

Link de referencia


Agradecimeintos a: Camilo Jaramillo

2 comentarios en «Asignación de varias variables a una sola sentencia SELECT con SQL SERVER 2005»

Los comentarios están cerrados.