没事了,兄弟们快来拿分吧。原因是没有释放游标。 DECLARE test_cursor CURSOR for (SELECT ap.id FROM t_agreement_project ap) OPEN test_cursor DECLARE @test_table VARCHAR(100) FETCH NEXT FROM test_cursor INTO @test_table WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO test_cursor(test_cursor) VALUES (@test_table) FETCH NEXT FROM test_cursor INTO @test_table END CLOSE test_cursor DEALLOCATE test_cursor
正常做法: open cur---; loop fetch cur-- into ; exit when cur--%notfound; ....... end loop; close cur---;
先看这个结果是不是重复了。 SELECT ap.id FROM t_agreement_project ap
DECLARE test_cursor CURSOR for (SELECT ap.id FROM t_agreement_project ap)
OPEN test_cursor
DECLARE @test_table VARCHAR(100)
FETCH NEXT FROM test_cursor INTO @test_table
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO test_cursor(test_cursor) VALUES (@test_table)
FETCH NEXT FROM test_cursor INTO @test_table
END
CLOSE test_cursor
DEALLOCATE test_cursor
open cur---;
loop
fetch cur-- into ;
exit when cur--%notfound;
.......
end loop;
close cur---;
SELECT ap.id FROM t_agreement_project ap