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

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 matlab appdesigner私有函数嵌套整合
  • ¥15 给我一个openharmony跑通webrtc实现视频会议的简单demo项目,sdk为12
  • ¥15 vb6.0使用jmail接收smtp邮件并另存附件到D盘
  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云
  • ¥15 C# 调用Bartender打印机打印
  • ¥15 我这个代码哪里有问题 acm 平台上显示错误 90%,我自己运行好像没什么问题