[Err] 42000 - [SQL Server]必须声明标量变量 "@Id"。

无涯²º¹⁴ 2015-05-08 05:06:18
--Table_2--
Declare @Id Int
Declare @Date nvarchar(50)
Declare @Name nvarchar(50)

DECLARE Table_2 CURSOR --创建游标表2

for(select * from Table_2)
OPEN Table_2;
FETCH NEXT FROM Table_2 Into @Id,@Name,@Date;--添加到字段里
WHILE @@FETCH_STATUS = 0--循环表2
Begin

Update Table_1 set Date=@Date where Name=@Name and Mark=1
FETCH NEXT FROM Table_2 Into @Id,@Name,@Date;--循环下一个
End
CLOSE Table_2; --关闭游标
DEALLOCATE Table_2; --释放游标








[SQL]--Table_2--
Declare @Id Int
Declare @Date nvarchar(50)
Declare @Name nvarchar(50)

DECLARE Table_2 CURSOR --创建游标表2

for(select * from Table_2)
OPEN Table_2
受影响的行: 0
时间: 0.018s

[SQL]
FETCH NEXT FROM Table_2 Into @Id,@Name,@Date
[Err] 42000 - [SQL Server]必须声明标量变量 "@Id"。


在 sql server里面是可以运行的,但是我在navicat软件中就无法运行,提示以上的错误信息
...全文
878 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcmakebest 2015-05-08
  • 打赏
  • 举报
回复
@符号是SQL中用作参数的前缀, 如果是OLE连接的话是不能用的, 貌似是用?号
在路上_- 2015-05-08
  • 打赏
  • 举报
回复
你程序中有5个分号,都去掉试一试
在路上_- 2015-05-08
  • 打赏
  • 举报
回复
难道navicat不认识分号(;)?把程序中两个分号去掉试一试

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧