Built-in Global Variables
SQL have lots of built-in variables that are very useful to use in queries and scripts.
@@IDENTITY
After an INSERT, SELECT INTO, or bulk copy statement is completed, @@IDENTITY contains the last identity value that is generated by the statement. If the statement did not affect any tables with identity columns, @@IDENTITY returns NULL. If multiple rows are inserted, generating multiple identity values, @@IDENTITY returns the last identity value generated.
Example:
Given to tables; SCHOOL and COURSE:
SCHOOL table:

COURSE table:

We want to insert a new School into the SCHOOL table and we want to insert 2 new Courses in the COURSE table that belong to the School we insert. To find the “SchoolId” we can use the @@IDENTITY variable:
declare @SchoolId int
-- Insert Data into SCHOOL table
insert into SCHOOL(SchoolName) values ('MIT')
select @SchoolId = @@IDENTITY
-- Insert Courses for the specific School above in the COURSE table insert into COURSE(SchoolId,CourseName) values (@SchoolId, 'MIT- 101')
insert into COURSE(SchoolId,CourseName) values (@SchoolId, 'MIT- 201')
The result becomes:
SCHOOL table:

COURSE table:
