Požadavky: Uložená procedura, musíme vložit datová data do tabulek A a B, kde hlavní vztah cizího klíče mezi tabulkou A a tabulkou B, sloupce spojené s tabulkou B jsou primární klíče tabulky A, po dokončení vložení musíme vložit primární klíčovou hodnotu tabulky A, získat primární klíčovou hodnotu tabulky A a poté vložit data do tabulky B.
Po vložení záznamu chcete okamžitě získat zpětnou hodnotu primárního klíče v jeho datasheetu. Tento primární klíč je automaticky generován.
Nejprve vytvořte dočasnou tabulku k testování, kód je následující:
@@IDENTITY
Po dokončení příkazu INSERT, SELECT IN nebo hromadné kopírovaní obsahuje @@IDENTITY poslední identifikační hodnotu vytvořenou tímto příkazem. Pokud toto tvrzení neovlivní žádné tabulky s identifikovanými sloupci, @@IDENTITY vrátí NULL. Pokud je vloženo více řádků, vygeneruje se více hodnot identifikátorů @@IDENTITY poslední hodnota identifikátoru je vrácena. Pokud tento příkaz spustí jeden nebo více spouštěčů, které provedou operaci vložení produkující identifikovanou hodnotu, volání @@IDENTITY ihned po provedení příkazu vrátí poslední identifikační hodnotu generovanou spouštěčem. Pokud příkaz INSERT nebo SELECT INTO selže nebo selže hromadná replikace, nebo pokud je transakce vrácena zpět, hodnota @@IDENTITY se neobnoví do předchozích nastavení.
VLOŽENÝ VÝSTUP
Pro INSERT můžete odkazovat na vloženou tabulku a dotazovat se na vlastnosti nového řádku
Testovací kód je následující:
Efekt je následující:
|