В Advantage пытается обновить значение во временной таблице, но каждый раз добавляет 1. Начальное значение должно быть на одно больше максимального значения из другой таблицы, и каждый раз, когда обновляется новая строка, к ней добавляется одна. Игнорировать все, кроме объявления курсора и строк @nevid вверху. Я могу получить его для заполнения столбца evid в моей временной таблице, но он добавляет 71 к каждой записи, что является правильным следующим числом, но мне нужно, чтобы оно было 71,72,73 и т. Д. Куда я иду не так?
DECLARE cur CURSOR;
DECLARE @nevid INTEGER;
DECLARE @startdate string;
DECLARE @starttime string;
DECLARE @expectedenddate string;
DECLARE @expectedendtime string;
DECLARE @enddate string;
DECLARE @endtime string;
@nevid =
(
SELECT (max(evid)+1)
FROM pcplevnt
);
SELECT *
INTO #tmpev
FROM <table>;open cur
AS
SELECT *
FROM #tmpev;
WHILE
FETCH cur do
UPDATE #tmpev
SET evid = cast(@nevid AS sql_char(4));SET @nevid = @nevid + 1;
END WHILE;
close cur;