Как написать запрос вставки данных в общие типы, увеличенные на единицу на основе максимального числа на typeid ?
Я работаю на sql server 2012 у меня есть имя таблицы GeneralTypes
как следует из этого
создание общих типов таблиц
(
TypeId int,
Имя типа nvarchar(50)
)
TypeId - это первичный ключ, но не идентификатор
У меня есть временная таблица как #tempGeneral
создать таблицу #tempGeneral
(
TypeId int,
Имя типа nvarchar(50)
)
Мне нужно вставить данные по общим типам на основе временной таблицы #tempGeneral
так что я проверю, существует ли максимальное значение в таблице GeneralTypes
тогда я увеличу его на единицу, когда вставлю
а если временная таблица #tempGeneral иметь значения, на имя не существует в таблице
затем получите максимум и увеличьте один
так что все, что мне нужно сделать, это написать запрос вставки данных в таблицу Generaltypes из #tempGeneral
#tempGeneral имеет следующее :
Мерседес
компания IBM
Мазда
Тойота
после вставки данных в таблицу GeneralTypes ожидаются следующие данные
ИД типа имя_типа
1 Мерседес
2 Ibm
3 Mazda
4 Toyota
предположим, я добавлю новые значения в #tempGeneral
Мерседес
компания IBM
Мазда
Тойота
Оппель
Хонда
Хундай
затем я проверю TypeName на таблице GeneralTypes
если typename на #tempGeneral существует в таблице GeneralTypes, то я не буду вставлять данные
если #tempGeneral иметь имя не существует в таблице № tempGeneral затем добавить typename и не было на столе GeneralTypes
так что я добавлю эти typename во второй раз
ИД типа имя_типа
5 Оппель
6 Хонда
7 Хундай
так что мне нужно написать один запрос insert data exist on #tempgeneral on table GeneralTypes increased by one
а если не существует то получите максимальное значение по идентификатору типа в таблице GeneralTypes и добавьте увеличенное на единицу
Что я уже пробовал:
вставить в GeneralTypes выберите TypeName из #tempGeneral