存储过程中的语句,想要查询数据库给@UserName赋值,不知道如何操作,下面的语句直接赋值给了哪个SQL语句的本身了,而不是查询得到的值DECLARE @UserName nvarchar(50);
Set @UserName = 'Select [RealName] From [User] Where [Id]='+convert(nvarchar(15),@UserId)+'';

解决方案 »

  1.   

    declare @UserName nvarchar(50)
    select @UserName=[RealName] from [User] where ID=convert(nvarchar(15),@UserId)
      

  2.   


     Select  @UserName=[RealName] From [User] Where [Id]=convert(nvarchar(15),@UserId)
      

  3.   


    这么简单的就不用sp_executesql了吧
      

  4.   

    declare @UserName nvarchar(50)
    select @UserName=[RealName] from [User] where ID=convert(nvarchar(15),@UserId)
      

  5.   

    多谢了,各位,对于高手来说都比较简单,但对于我不熟悉SQL的,就不知道如何处理了
      

  6.   

    set和select都可以给变量赋值,
    一般用set
    如果是查询出来的值要赋给变量,用select1楼正解