作者:壹花壹浄土 | 来源:互联网 | 2023-05-18 03:53
--Table_2--Declare@IdIntDeclare@Datenvarchar(50)Declare@Namenvarchar(50)DECLARETabl
--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软件中就无法运行,提示以上的错误信息
3 个解决方案
难道navicat不认识分号(;)?把程序中两个分号去掉试一试
@符号是SQL中用作参数的前缀, 如果是OLE连接的话是不能用的, 貌似是用?号