declare @check_student_id char(20)
declare @get_borrow_data datetime
declare @pass_data int   

解决方案 »

  1.   

    CREATE PROCEDURE check_student_nowed 
    AS 
       DECLARE borrow_nowed_rs CURSOR FOR
       SELECT student_id FROM borrow where 30 < datediff(day,borrow_data,getdate())
       declare @check_student_id char(20)
       open borrow_nowed_rs
       FETCH NEXT FROM borrow_nowed_rs into @check_student_id
       WHILE @@FETCH_STATUS = 0
       BEGIN
       update student
       set student_nowed = student_nowed +0.1
       where student_id =  @check_student_id 
       FETCH NEXT FROM borrow_nowed_rs into @check_student_id
       END
       CLOSE borrow_nowed_rs
       DEALLOCATE borrow_nowed_rs这个是我昨天已经实现的功能,今天我想按超过的天数来对student_nowed赋值,搞了半天就是不行。
      

  2.   

    declare @check_student_id char(20)
    declare @get_borrow_data datetime
    declare @pass_data int 也是提示一样错误,本来我就是这样定义的。
      

  3.   


    改成:
       declare @pass_data int  = datediff(day,@get_borrow_data,getdate())-30
    提示错误:
       服务器: 消息 139,级别 15,状态 1,过程 check_student_nowed,行 12
      不能向局部变量赋予默认值。删除:
       declare @pass_data int  = datediff(day,@get_borrow_data,getdate())-30
    编译通过     
      

  4.   

    CREATE   PROCEDURE   check_student_nowed   
    AS   
          DECLARE   borrow_nowed_rs   CURSOR   FOR 
          SELECT   student_id,borrow_data   FROM   borrow   where   30   <   datediff(day,borrow_data,getdate()) 
          declare   @check_student_id   char(20),@get_borrow_data     datetime,@pass_data   int   
          open   borrow_nowed_rs 
          FETCH   NEXT   FROM   borrow_nowed_rs   into   @check_student_id,@get_borrow_data 
          WHILE   @@FETCH_STATUS   =   0 
          BEGIN 
          set @pass_data     =   datediff(day,@get_borrow_data,getdate())-30         
          update   student 
          set   student_nowed   =   @pass_data*0.1 
          where   student_id   =     @check_student_id   
          FETCH   NEXT   FROM   borrow_nowed_rs   into   @check_student_id,@get_borrow_data 
          END 
          CLOSE   borrow_nowed_rs 
          DEALLOCATE   borrow_nowed_rs 
      

  5.   

    谢谢happyflystone 
    我的问题解决了
    语句块每本书上都不同,郁闷