amritbdk Ответов: 2

как вставить в таблицу sqlserver если присутствует составной первичный ключ


сэр
я хочу вставить в таблицу через storeprocedure, если композитный первичный ключ присутствует с атрибутом 3, Если у меня есть вставка 3 одинаковых int типа no в таблицу, это вызывает ошибку,как справиться с ошибкой pls help me

2 Ответов

Рейтинг:
2

Member 13379370

Если у вас есть составной ключ и вы хотите вставить в него значения.
Затем попробуйте следующий код

вставьте игнор в значения HotelBooking (RoomID, RegisterDate , CustomerName , Gender , Address , BillAmount) ('R1002', '12/12/2018', 'Adam Ponting','Male', 'Sydney Australia' , '1132.11')
При обновлении дубликата ключа RoomID =values( RoomID), RegisterDate =values(RegisterDate );


Dave Kreskowiak

Спросил И ответил четыре года назад.

Рейтинг:
1

Bernhard Hiller

Первичный ключ всегда должен быть уникальным. Это справедливо и для составных первичных ключей.
Если ваш первичный ключ состоит из трех int a,b,c,то вы не должны вставлять две строки с одинаковыми значениями a, b, c.
Теперь проверьте свои требования: что произойдет, когда такая комбинация повторится? Ошибка? Затем просто измените mesage, чтобы он стал более интеллектуальным для пользователя. Есть новости? Затем проверьте наличие комбинации и, если она уже присутствует, выполните запрос обновления вместо запроса вставки.