Wymagania: Procedura przechowywana, musimy wstawić fragment danych w tabelach A i B, gdzie główna relacja klucza obcego między tabelą A a tabelą B, kolumny powiązane z tabelą B są kluczami głównymi tabeli A, musimy wstawić wartość klucza podstawowego tabeli A po zakończeniu wstawiania, musimy uzyskać wartość klucza podstawowego tabeli A, a następnie wstawić dane do tabeli B.
Po wstawieniu rekordu chcesz natychmiast uzyskać wartość zwrotną klucza głównego w jego arkuszu danych. Ten klucz główny jest generowany automatycznie.
Najpierw stwórz tymczasową tabelę do testowania, kod wygląda następująco:
@@IDENTITY
Po zakończeniu instrukcji INSERT, SELECT IN lub bulk copy, @@IDENTITY zawiera ostatnią wartość identyfikacyjną wygenerowaną przez to zawołanie. Jeśli to stwierdzenie nie wpływa na żadne tabele z zidentyfikowanymi kolumnami, @@IDENTITY zwraca NULL. Jeśli wstawi się wiele wierszy, generowane są liczne wartości identyfikatorów, @@IDENTITY zwracana jest ostatnia wartość identyfikatora. Jeśli to zdanie wyzwala jedno lub więcej wyzwalaczy, które wykonują operację wstawiania generującą zidentyfikowaną wartość, wywołanie @@IDENTITY natychmiast po wykonaniu instrukcji zwróci ostatnią wartość identyfikacyjną wygenerowaną przez wyzwalacz. Jeśli polecenie INSERT lub SELECT INTO nie zawiedzie, masowa replikacja nie zawiedzie, albo jeśli transakcja zostanie cofnięta, wartość @@IDENTITY nie zostanie przywrócona do poprzednich ustawień.
WSTAW WYJŚCIA
W przypadku INSERT możesz odwołać się do wstawionej tabeli, aby zapytać o właściwości nowego wiersza
Kod testu jest następujący:
Efekt jest następujący:
|