Saltar al contenido

Una instrucción SELECT que asigna un valor a una variable no debe combinarse con operaciones de recuperación de datos.

Al fin después de tanto luchar pudimos encontrar la respuesta de este contratiempo que agunos lectores de este espacio han presentado. Si tienes algún detalle que aportar no dejes de dejar tu comentario.

Solución:

Los valores de columna de la instrucción SELECT se asignan a @low y @day variables locales; el @adjustedLow el valor no se asigna a ninguna variable y causa el problema:

El problema esta aqui:

select 
    top 1 @low = low
    , @day = day
    , @adjustedLow  -- causes error!
--select high
from 
    securityquote sq
...

Explicación detallada y solución alternativa: Mensajes de error de SQL Server – Msg 141 – Una instrucción SELECT que asigna un valor a una variable no debe combinarse con operaciones de recuperación de datos.

No puede usar una instrucción de selección que asigne valores a las variables para devolver también datos al usuario. El siguiente código funcionará bien, porque he declarado 1 variable local y esa variable se usa en la instrucción de selección.

 Begin
    DECLARE @name nvarchar(max)
    select @name=PolicyHolderName from Table
    select @name
    END

El siguiente código arrojará el error “Una instrucción SELECT que asigna un valor a una variable no debe combinarse con operaciones de recuperación de datos” Porque estamos recuperando datos (PolicyHolderAddress) de la tabla, pero el error dice que la operación de recuperación de datos no está permitida cuando usted use alguna variable local como parte de la instrucción select.

 Begin
    DECLARE @name nvarchar(max)
    select 
       @name = PolicyHolderName,
       PolicyHolderAddress 
    from Table
 END

El código anterior se puede corregir como a continuación,

Begin
    DECLARE @name nvarchar(max)
    DECLARE @address varchar(100)
    select 
       @name = PolicyHolderName,
       @address = PolicyHolderAddress 
    from Table
END

Por lo tanto, elimine la operación de recuperación de datos o agregue una variable local adicional. Esto resolverá el error.

Te mostramos las comentarios y valoraciones de los usuarios

Eres capaz de ayudar nuestra ocupación escribiendo un comentario o dejando una valoración te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *