Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 6787|Отговор: 1

[Източник] SQL Server връща първичния ключ след поставяне

[Копирай линк]
Публикувано в 7.07.2020 г. 11:55:16 ч. | | | |
Изисквания: При съхранена процедура трябва да вмъкнем парче от данни в таблици А и Б, където основната връзка между таблица А и таблица Б, колоните, свързани с таблица Б, са основните ключове на таблица А, трябва да вмъкнем основната стойност на ключа на таблица А след приключване на вмъкването, трябва да получим основната ключова стойност на таблица А и след това да вмъкнем данните в таблица Б.

След като вмъкнете запис, искате веднага да получите връщаната стойност на първичния ключ в неговия технически лист. Този първичен ключ се генерира автоматично.

Първо, създайте временна таблица за тестване, кодът е следният:


@@IDENTITY

След като изявлението INSERT, SELECT IN или масово копиране завърши, @@IDENTITY съдържа последната идентификационна стойност, генерирана от това изявление. Ако това изявление не засяга никакви таблици с идентифицирани колони, @@IDENTITY връща NULL. Ако се вмъкнат няколко реда, се генерират множество стойности на идентификатора, @@IDENTITY се връща последната стойност на идентификатора. Ако това операторско изявление задейства един или повече тригери, които изпълняват операция за вмъкване, която произвежда идентифицирана стойност, извикването на @@IDENTITY веднага след изпълнение на оператора ще върне последната идентификационна стойност, генерирана от тригера. Ако операторът INSERT или SELECT INTO не успее или масовото репликация се провали, или ако транзакцията бъде върната назад, стойността на @@IDENTITY не се възстановява до предишните си настройки.

ВМЪКНАТ ИЗХОД

За INSERT можете да се позовете на вмъкнатата таблица, за да направите запитване към свойствата на новия ред

Тестовият код е следният:


Ефектът е следният:







Предишен:MSSQL условна заявка WHERE игнорира условието
Следващ:Агрегиране на точки на картата Baidu
 Хазяин| Публикувано в 7.07.2020 г. 13:22:22 ч. |
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com