日期:2014-05-17  浏览次数:20482 次

存储过程 游标问题
向一个表插入数据时发生的

从一个表中取数据
DECLARE StartEndCur CURSOR FOR
SELECT 字段
FROM
表名
WHERE
ID = @ID
BEGIN TRY

BEGIN TRANSACTION
        --打开游标
OPEN StartEndCur
        --这里开始循环?
FETCH NEXT FROM StartEndCur INTO
        @EQUIPMENTCODE --保存到声明的字段变量中

          SET @i = 0
WHILE (@i <= @PROCESSCOUNT)
BEGIN
       。。。。。
       SET @i = @i + 1
          
      从A表查找数据,如果不存在,向B表插入数据,如果存在则更新这条数据

问题来了,刚插入一条数据,那么进入下一次循环时更新这条数据的时候会报错。
这种做法有问题么
3609


------解决方案--------------------
引用:
我在想是不是上一条插入没有执行完呢 还在内存里呢 所以更新失败呀 不知道想的对不对


你有完整的代码不,这个代码,看不出什么问题