Ошибка загрузки временной таблицы сервера SQL

У меня есть этот запрос, и я хочу загрузить исходную таблицу во временную таблицу и просмотреть ее, а если системная дата равна столбцу End, обновить поле Active и удалить первую строку из временной таблицы и следуйте по пути.

DECLARE @count int;

DECLARE @fch2  DATETIME;

create table #Suple(
ID INT,
NUMERO INT,
NOMBRE VARCHAR(50),
MAIL VARCHAR(50),
ACTIVO NCHAR(10),
INICIO DATETIME,
FIN DATETIME
);

INSERT INTO #Suple
SELECT * FROM  TablaOriginal where ACTIVO = 1
SELECT @count = COUNT(*) FROM #Suple;
WHILE @count > 0

BEGIN

SELECT  @fch2 = FIN FROM #Suple WHERE ACTIVO = 1
IF (GETDATE() = @fch2)
UPDATE TablaOriginal SET ACTIVO = 0
DELETE TOP(1) FROM #Suple 

END

DROP TABLE #Suple

Это ошибка:

Имя столбца или количество предоставленных значений не соответствует определению в таблице.

Проблема в том, что если они одинаковы как в таблице темпоров, так и в исходной таблице, то они одинаковы.

-1
задан 07.11.2019, 08:27
1 ответ

Мне не хватало добавлять типы данных о каждом поле, в конце концов временная таблица осталась следующего способа.

create table #Suple(
ID INT Primary Key not null,
NUMERO INT not null,
NOMBRE VARCHAR(50) not null,
MAIL VARCHAR(50) not null,
ACTIVO NCHAR(10) not null,
INICIO DATETIME not null,
FIN DATETIME not null
);
0
ответ дан 10.11.2019, 22:39
  • 1
    Нет, это не explicació n проблемы. Ошибка - что таблица tení в некие колонны и другую tení по крайней мере или больше. Привет. – Patricio Moracho 07.11.2019, 09:17
  • 2
    Находится объяснение в комментариях главного вопроса. – Manny 07.11.2019, 09:20
  • 3
    Если, explicació n - та комментария Роже: " Ошибка ясная, подмостки имеют algú n отличное поле (по имени) или какая-то таблица имеет má s или меньше колонн, чем она otra". Менять типы информации, PK, или condició n null конечно они исправляют другой тип ошибки, но тип твоего вопроса. – Patricio Moracho 07.11.2019, 09:27
  • 4
    в меня я функционирую так, такой который, привет. – Manny 07.11.2019, 09:37