能对自定义函数返回的表做更新操作吗?

解决方案 »

  1.   


    UPDATE  dbo.CyFKQdailySCH('2010-06-01')  SET ... dbo.CyFKQdailySCH('2010-06-01') 是个函数
    这就你所说的 在函数外 吧
    能这样UPDATE 吗?
      

  2.   

    UPDATE  dbo.CyFKQdailySCH('2010-06-01')  SET ...
     dbo.CyFKQdailySCH('2010-06-01') 是个函数
    这就你所说的 在函数外 吧
       这样UPDATE 不行,确定?
      

  3.   

    select * into #temp from dbo.CyFKQdailySCH('2010-06-01')update #temp set ....
      

  4.   

    我测试过,成功了呀?why?  UPDATE CyFKQrepdBmonth('2010-6') SET SHIFT_ID='0000'
      

  5.   

    CREATE FUNCTION CyFKQrepdBmonth(@ym NVARCHAR(20))
      RETURNS TABLE
     AS
     RETURN(SELECT * FROM KQRepD kd WHERE kd.YM =@ym)
     
     
     SELECT * FROM CyFKQrepdBmonth('2010-6')
     
     UPDATE CyFKQrepdBmonth('2010-6') SET SHIFT_ID='0000'
    (所影响的行数为 2310 行)
      

  6.   


    就算你更新了,你怎么得到刚才的结果呢?
    再这样 SELECT * FROM CyFKQrepdBmonth('2010-6') 不又回去了?
      

  7.   

    select * from dbo.tLongWeek('2010-05')
    /*
    fldSaturdayTimes fldIsNext
    ---------------- ---------
    1                0
    2                0
    3                1(3 行受影响)
    */update dbo.tLongWeek('2010-05') set fldisnext = 0
    /*
    消息 270,级别 16,状态 1,第 1 行
    无法修改对象 'dbo.tLongWeek'。
    */
      

  8.   


    他更的是基础表,没有问题,可能有于
    chuifengde
    (树上的鸟儿)所说,
    另我的基础表,是一张表,没有什么 约束