不好意思UNION SELECT * FROM [viwIwfCommand] WHERE PkID = @id 改为 SELECT * FROM [viwIwfCommand] WHERE PkID = @id

解决方案 »

  1.   

    你在查询分析器里边执行看看,会停不下来的
    CREATE PROCEDURE spciwfProQuickLoad
        @PkID int
    AS
    DECLARE @id int
    SELECT * FROM [viwIwfProcess] WHERE PkID = @PkID
    SELECT * FROM [viwIwfPhase] WHERE ProcessID = @PkID
    SELECT * FROM [viwIwfTransation] WHERE ProcessID = @PkIDDECLARE cur1 CURSOR FOR 
    SELECT PkID FROM [viwIwfPhase] WHERE ProcessID = @PkID
    OPEN cur1
    FETCH NEXT FROM cur1 INTO @id
    WHILE @@FETCH_STATUS = 0
    BEGIN
    SELECT * FROM [viwIwfCommand] WHERE PkID = @id
    ENDCLOSE cur1
    DEALLOCATE cur1
    GO
      

  2.   

    如果是要循环的话,那么应该在SELECT * FROM [viwIwfCommand] WHERE PkID = @id
    后面再加上一句fetch next from cur1 into @id让指针进行移动!
      

  3.   

    OPEN cur1
    FETCH NEXT FROM cur1 INTO @id
    WHILE @@FETCH_STATUS = 0
    BEGIN
    SELECT * FROM [viwIwfCommand] WHERE PkID = @id
             FETCH NEXT FROM cur1 INTO @id
    END