Declare Cur_MyCur Cursor                                    
For Select fID,fName For Temp_Adress Into @fID,@fName     
Open Cur_MyCur  
                         
Declare @fID int(4),@fName varchar(20)
Fetch Next From Cur_MyCur into @fID,@fName
While(@@fetch_status=0)
Update Temp_Check Set NewV = @fID Where  f4019 like '%@fName%'Fetch Next From Cur_MyCur into @fID,@fName
EndClose Cur_MyCur
Deallocate Cur_MyCur------------------------------------------------服务器: 消息 156,级别 15,状态 1,行 2
在关键字 'Into' 附近有语法错误。
服务器: 消息 156,级别 15,状态 1,行 11
在关键字 'End' 附近有语法错误。

解决方案 »

  1.   

    Declare @fID int(4),@fName varchar(20)
    Declare Cur_MyV Cursor --声明游标     
    For Select fID,fName From Temp_Adress --游标的数据来源
    Open Cur_MyV  
    Fetch Next From Cur_MyV into @fID,@fName --打开游标While(@@fetch_status=0)
    Begin
    Update Temp_Check Set NewV = @fID Where  f4019 like '%@fName%' Fetch Next From Cur_MyV into @fID,@fName
    EndClose Cur_MyV
    Deallocate Cur_MyV
      

  2.   

    谢谢老大,@fID int(4)又改了下,没错了可以执行了,但是执行结果是所有影响的均为0行,,Update Temp_Check Set NewV = @fID Where  f4019 like '%@fName%'
    这句的写法会有错吗?
      

  3.   

    --沒仔細看這裡,的確是有錯誤,要這麼寫Declare @fID int(4),@fName varchar(20)
    Declare Cur_MyV Cursor --声明游标     
    For Select fID,fName From Temp_Adress --游标的数据来源
    Open Cur_MyV  
    Fetch Next From Cur_MyV into @fID,@fName --打开游标While(@@fetch_status=0)
    Begin
    Update Temp_Check Set NewV = @fID Where  f4019 like '%' + @fName + '%' --修改 Fetch Next From Cur_MyV into @fID,@fName
    EndClose Cur_MyV
    Deallocate Cur_MyV