Požiadavky: Uložená procedúra, potrebujeme vložiť dáta do tabuliek A a B, kde hlavný vzťah cudzieho kľúča medzi tabuľkou A a tabuľkou B, stĺpce spojené s tabuľkou B sú primárne kľúče tabuľky A, po dokončení vloženia potrebujeme vložiť primárnu kľúčovú hodnotu tabuľky A, potrebujeme získať primárnu kľúčovú hodnotu tabuľky A a potom vložiť údaje do tabuľky B.
Po vložení záznamu chcete okamžite získať návratovú hodnotu primárneho kľúča v jeho datasheete. Tento primárny kľúč sa automaticky generuje.
Najprv vytvorte dočasnú tabuľku na testovanie, kód je nasledovný:
@@IDENTITY
Po dokončení príkazu INSERT, SELECT IN alebo hromadného kopírovania obsahuje @@IDENTITY poslednú identifikačnú hodnotu vytvorenú týmto príkazom. Ak tento príkaz neovplyvní žiadne tabuľky s identifikovanými stĺpcami, @@IDENTITY vráti NULL. Ak sa vloží viac riadkov, vygeneruje sa viacero hodnôt identifikátora @@IDENTITY posledná hodnota identifikátora sa vráti. Ak tento príkaz spustí jeden alebo viac spúšťačov, ktoré vykonávajú operáciu vloženia a vyprodukujú identifikovanú hodnotu, volanie @@IDENTITY bezprostredne po vykonaní príkazu vráti poslednú identifikačnú hodnotu generovanú spúšťačom. Ak príkaz INSERT alebo SELECT INTO zlyhá alebo hromadná replikácia zlyhá, alebo ak sa transakcia vráti späť, hodnota @@IDENTITY sa neobnoví na predchádzajúce nastavenia.
VLOŽENÝ VÝSTUP
Pre INSERT môžete odkazovať na vloženú tabuľku na dotazovanie vlastností nového riadku
Testovací kód je nasledovný:
Efekt je nasledovný:
|