Amreggot 2021-04-12 22:01 采纳率: 100%
浏览 168
已采纳

sql server游标使用中的问题,出现“必须声明标量变量”错误提示

declare cursor1 scroll cursor for
select *
from 成本表

open cursor1
declare @单据号 VARCHAR(16),@预算单位 VARCHAR(16),@井号 VARCHAR(16), @预算金额 DECIMAL(10,2),@预算人 VARCHAR(16),@预算日期 DATETIME,@开工日期 DATETIME, @完工日期 DATETIME,@施工单位 VARCHAR(16), @施工内容 VARCHAR(16), @材料费 DECIMAL(10,2), @人工费 DECIMAL(10,2),@设备费 DECIMAL(10,2),@其他费用 DECIMAL(10,2),@结算金额 DECIMAL(10,2),@结算人 VARCHAR(16),@结算日期 DATETIME, @入账金额 DECIMAL(10,2),@入账人 VARCHAR(16), @入账日期 DATETIME  
print '单据号    '+'预算单位    '+ '井号    '+'预算金额    '+'预算人    '+'预算日期      '+'开工日期    '+'完工日期   '+'施工单位   '+ '施工内容    '+'材料费   '+'人工费   '+'设备费   '+'其它费用    '+'结算金额    '+'结算人     '+'结算日期   '+'入账金额   '+'入账人   '+'入账日期  ' 
fetch first from cursor1
into @单据号, @预算单位, @井号, @预算金额, @预算人, @预算日期, @开工日期, @完工日期, @施工单位, @施工内容, @材料费, @人工费,@设备费,@其他费用,@结算金额, @结算人, @结算日期, @入账金额, @入账人, @入账日期
while(@@FETCH_STATUS=0)
begin
fetch next from cursor1
into @单据号, @预算单位, @井号, @预算金额, @预算人, @预算日期, @开工日期, @完工日期, @施工单位, @施工内容, @材料费, @人工费,@设备费,@其他费用, @结算金额, @结算人, @结算日期, @入账金额, @入账人, @入账日期
print @单据号+' '+@预算单位+' '+@井号+ ' '+@预算金额+' '+@预算人+' '+@预算日期+' '+@开工日期+' '+@完工日期+' '+@施工单位+' '+@材料费+' '+@人工费+' '+@人工费+' '+@设备费+' '+@其它费用+' '+@结算金额+' '+@结算人+' '+@结算日期+' '+@入账金额+' '+ @入账人+' '+@入账日期+' ' 

end

这是运行结果:

这是成本表的数据类型

一直出现这个问题

感谢哥哥姐姐们帮忙解答!!!

  • 写回答

1条回答 默认 最新

  • Probieone 2021-04-13 08:17
    关注

    很明显没定义变量@其它费用,你上面定义了一个@其他费用

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!