其中Fee_CallLog和Fee_TaskTrace是视图

解决方案 »

  1.   

    不解
    用一个我不了解的词
    死锁? hoho
      

  2.   

    SELECT *  FROM  Fee_DetailBillTemp
    WHERE dbo.ttt.TaskID IN (这句什么意思?
      

  3.   

    就是~都不知道ttt是哪里蹦出来的表,与前面from Fee_DetailBillTemp的这个表名不一致
      

  4.   

    你在删除表中记录的时候会给表加上一个IX锁,但是如果此时表上已经有一个S琐,也就是此时有用户来查询这个表.就会发生等待,因为IX锁和S锁是不相容的.
      

  5.   

    SELECT *  FROM  Fee_DetailBillTemp 写错了 SELECT *  FROM  ttt
    to:mschen(发光的星星) 我执行这个操作时没有用户来查询这个表就我自己在用啊
      

  6.   

    TaskID重复,不能决定删除哪个,悬而未决, 再加一个条件吧
      

  7.   

    caoshangfei(草上飞) :你理解错了 我是用下面的语句在查询分析器中运行,不能给出结果 ,一直运行
    delete FROM dbo.ttt
    WHERE dbo.ttt.TaskID IN (Select dbo.Fee_TaskTrace.TaskID From Fee_TaskTrace INNER JOIN  Fee_CallLog ON 
            Fee_CallLog.CallID = Fee_TaskTrace.CallID 
    where  Fee_CallLog.BeginTime > '2005-5-2 23:59:59'  AND 
           Fee_CallLog.CallType = '1'
    )
    手动中止后用
    select FROM dbo.ttt
    WHERE dbo.ttt.TaskID IN (Select dbo.Fee_TaskTrace.TaskID From Fee_TaskTrace INNER JOIN  Fee_CallLog ON 
            Fee_CallLog.CallID = Fee_TaskTrace.CallID 
    where  Fee_CallLog.BeginTime > '2005-5-2 23:59:59'  AND 
           Fee_CallLog.CallType = '1'
    )马上就执行完了,两者的差别就是select 和delete ,为什么delete会一直运行呢
      

  8.   

    数据量太大了,删得慢。赖心等等,一般
    DELETE比SELECT慢得多。
      

  9.   

    你把:
    delete FROM dbo.ttt
    WHERE dbo.ttt.TaskID IN (Select dbo.Fee_TaskTrace.TaskID From Fee_TaskTrace INNER JOIN  Fee_CallLog ON 
            Fee_CallLog.CallID = Fee_TaskTrace.CallID 
    where  Fee_CallLog.BeginTime > '2005-5-2 23:59:59'  AND 
           Fee_CallLog.CallType = '1'
    )
    拆成:
    Select dbo.Fee_TaskTrace.TaskID as tid into #t
    From Fee_TaskTrace INNER JOIN  Fee_CallLog ON  Fee_CallLog.CallID = Fee_TaskTrace.CallID 
    where  Fee_CallLog.BeginTime > '2005-5-2 23:59:59'  AND 
           Fee_CallLog.CallType = '1'DELETE FROM dbo.ttt WHERE dbo.ttt.TaskID IN(SELECT tid FROM #t)
    --DROP TABLE #t
    两句话试试呢?
      

  10.   

    我现在解决办法用的和flyfing(江山如此多娇) 将的方法差不多!谢谢你们