Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 6787|Відповідь: 1

[Джерело] SQL Server повертає первинний ключ після вставки

[Копіювати посилання]
Опубліковано 07.07.2020 11:55:16 | | | |
Вимоги: У збереженій процедурі потрібно вставити фрагмент даних у таблиці A і B, де основний зв'язок зовнішнього ключа між таблицями A і таблицею B, стовпці, пов'язані з таблицею B, є первинними ключами таблиці A, потрібно вставити первинне значення ключа таблиці A після завершення вставки, отримати первинне ключове значення таблиці A, а потім вставити дані до таблиці B.

Після вставки запису потрібно одразу отримати повернене значення первинного ключа в його технічний лист. Цей первинний ключ генерується автоматично.

Спочатку створіть тимчасову таблицю для тестування, код виглядає так:


@@IDENTITY

Після завершення оператора INSERT, SELECT IN або масове копіювання @@IDENTITY містить останнє ідентифікаційне значення, отримане цим оператором. Якщо цей оператор не впливає на таблиці з ідентифікованими стовпцями, @@IDENTITY повертає NULL. Якщо вставляти кілька рядків, генерується кілька значень ідентифікатора, @@IDENTITY повертається останнє значення ідентифікатора. Якщо цей оператор запускає один або кілька тригерів, які виконують операцію вставки, що дає ідентифіковане значення, виклик @@IDENTITY одразу після виконання оператора поверне останнє ідентифікаційне значення, згенероване тригером. Якщо оператор INSERT або SELECT INTO не вдається, або масова реплікація не завершується, або якщо транзакція відкотиться назад, значення @@IDENTITY не повертається до попередніх налаштувань.

ВСТАВЛЕНО ВИХІД

Для INSERT можна посилатися на вставлену таблицю, щоб запитати властивості нового рядка

Тестовий код виглядає так:


Ефект такий:







Попередній:умовний запит MSSQL WHERE ігнорує цю умову
Наступний:Агрегація точок карти Baidu
 Орендодавець| Опубліковано 07.07.2020 13:22:22 |
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com