Prasības: Saglabāta procedūra, mums ir jāievieto datu gabals tabulās A un B, kur galvenā ārējās atslēgas attiecība starp tabulu A un tabulu B, kolonnas, kas saistītas ar tabulu B, ir tabulas A primārās atslēgas, mums ir jāievieto tabulas A primārās atslēgas vērtība pēc ievietošanas pabeigšanas, mums jāiegūst tabulas A primārās atslēgas vērtība un pēc tam jāievieto dati tabulā B.
Pēc ieraksta ievietošanas datu lapā nekavējoties jāsaņem primārās atslēgas atgrieztā vērtība. Šī primārā atslēga tiek ģenerēta automātiski.
Pirmkārt, izveidojiet pagaidu tabulu, lai pārbaudītu, kods ir šāds:
@@IDENTITY
Kad priekšraksts INSERT, SELECT IN vai lielapjoma kopēšana ir pabeigts, @@IDENTITY satur pēdējo identifikācijas vērtību, ko radījis šis priekšraksts. Ja šis priekšraksts neietekmē tabulas ar identificētām kolonnām, @@IDENTITY atgriež NULL. Ja tiek ievietotas vairākas rindas, tiek ģenerētas vairākas identifikatoru vērtības, @@IDENTITY tiek atgriezta pēdējā identifikatora vērtība. Ja šis priekšraksts aktivizē vienu vai vairākus trigerus, kas veic ievietošanas operāciju, kas rada identificētu vērtību, izsaucot @@IDENTITY tūlīt pēc priekšraksta izpildes, tiks atgriezta pēdējā trigera ģenerētā identifikācijas vērtība. Ja priekšraksts INSERT vai SELECT INTO neizdodas vai masveida replicēšana neizdodas, vai transakcija tiek atcelta, @@IDENTITY vērtība netiek atjaunota iepriekšējos iestatījumos.
IEVIETOTĀ IZVADE
Programmā INSERT var atsaukties uz ievietoto tabulu, lai vaicātu jaunās rindas rekvizītus
Testa kods ir šāds:
Efekts ir šāds:
|