必须声明标量变量@PR_Name [英] Must declare the scalar variable @PR_Name

查看:69
本文介绍了必须声明标量变量@PR_Name的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在此查询中,我收到错误消息必须将@PR_Name声明为标量变量"
有人可以回复吗??

In this query I m getting the error "Must declare @PR_Name as scalar variable "
Can anybody reply????

exec sp_Select_Building_FlatNEW 1,1                                
 select @UserNames =UserName    
    
  if exists (select * from sysobjects where xtype='u' and name='#flnDtls')    
  begin    
  drop table #flnDtls    
  end    
      
  create table #flnDtls     
 (UserNames nvarchar(max),    
 Flat_No varchar(50),    
 Flat_Id int,    
 PR_ID int)    
      
  insert into #flnDtls exec sp_Select_Building_FlatNEW @SC_ID,@Flat_Id    
      
  select * from #flnDtls    
  --declare @sss nvarchar(max)    
  set @PR_Name = (select Top 1 UserNames from #flnDtls)    
  print @PR_Name    
      
if(@Quat=1)                
begin               
set @sql='SELECT DISTINCT       
                      dbo.iBillHead.BillHeadName, dbo.Society.SCName, CONVERT(varchar(500), dbo.Flat.Flat_No) AS Flat_No, dbo.Building.Building_Name,       
                      dbo.Flat.Flat_Area, dbo.TransMember_BillHead.Trans_Bill_Quat AS Amount, dbo.Building.Building_Id, dbo.Bill_Generation.Bill_No, CONVERT(varchar,       
                      dbo.Bill_Generation.Bill_Date, 103) AS BillDate, SUBSTRING(DATENAME(m, dbo.Bill_Generation.Bill_To_Date), 0, 4) AS FromMonth, SUBSTRING(DATENAME(m,       
                      dbo.Bill_Generation.Bill_From_Date), 0, 4) AS ToMonth, dbo.Society.SCRegDate, dbo.Society.SCAddr, dbo.Society.SCRegNo, dbo.Flat.Flat_Id,       
                      dbo.Bill_Generation.Bill_Id, dbo.Bill_Generation.Total_Amount AS Total, dbo.Bill_Generation.Pending_Amount AS pending, dbo.Bill_Generation.Bill_To_Date,       
                      dbo.Bill_Generation.Bill_From_Date, dbo.Bill_Generation.Due_Date, dbo.Bill_Generation.LateCharge_Amount, dbo.Bill_Generation.Discount,       
                      dbo.Bill_Generation.Bill_Date, dbo.Bill_Generation.Arrears, dbo.Bill_Generation.Grand_Total, dbo.Bill_Generation.Principal_Amount , @PR_Name as Username    
FROM         dbo.Member INNER JOIN      
                      dbo.Society INNER JOIN      
                      dbo.Flat INNER JOIN      
                      dbo.Building ON dbo.Flat.Building_Id = dbo.Building.Building_Id INNER JOIN      
                      dbo.Member_Flat ON dbo.Flat.Flat_Id = dbo.Member_Flat.Flat_Id ON dbo.Society.SC_ID = dbo.Building.Soc_Id INNER JOIN      
                      dbo.iBillHead INNER JOIN      
                      dbo.TransSoc_BillHead ON dbo.iBillHead.BillHeadID = dbo.TransSoc_BillHead.Trans_BillHeadID INNER JOIN      
                      dbo.TransMember_BillHead ON dbo.iBillHead.BillHeadID = dbo.TransMember_BillHead.Trans_BillHeadID ON       
                      dbo.Society.SC_ID = dbo.TransSoc_BillHead.Trans_SC_ID ON dbo.Member.PR_ID = dbo.Member_Flat.PR_ID AND       
                      dbo.Member.PR_ID = dbo.TransMember_BillHead.Trans_Member_ID INNER JOIN      
                   dbo.Bill_Generation ON dbo.Flat.Flat_Id = dbo.Bill_Generation.Flat_Id      
            

end            
            
exec(@sql)

推荐答案

是的,您收到此错误是因为您应该.在我看来,该错误是不言自明的.它说您必须声明此变量,即使您在代码中进行查找,也可以看到您从未声明过此变量.

Yes, you are getting this error because you should. And in my opinion, the error is self explanatory. It says you have to declare this variable, and even if you do a find in your code, you can see that you never declared this variable.

set @PR_Name = (select Top 1 UserNames from #flnDtls)
print @PR_Name



除此之外,我什至看不到您实际上在任何地方都使用了此变量.我可以这样声明:



Apart from that, I don''t even see that you actually made use of this variable anywhere. I would either declare it some thing like this:

DECLARE @PR_Name NVARCHAR(256)



或删除冗余代码.



Or remove the redundant code.




您正在将值设置为变量@PR_Name,但尚未声明该变量.

Hi,

you are setting the value into the variable @PR_Name but you have not declared that variable.

Declare @PR_Name NVARCHAR(500)



请尝试这个东西.可能是您找到了解决方法.

谢谢,
Viprat



Please try this thing. may be you find the soltion.

Thanks,
Viprat


这篇关于必须声明标量变量@PR_Name的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆