If you want these inserts also happening at once, you can do it like thisCREATE PROCEDURE InsertData@ArID int,@AuthName varchar(100),@AuthID int=0 OUTPUTASIF EXISTS(SELECT 1 FROM Author WHERE AuthName=@AuthName)BEGINSELECT @AuthID=AuthIDFROM AuthorWHERE AuthName=@AuthNameINSERT INTO ArAuthor(ArID ,AuthID)SELECT @ArID,@AuthIDENDELSEBEGININSERT INTO Author (AuthName)SELECT @AuthNameSELECT @AuthID=SCOPE_IDENTITY()INSERT INTO ArAuthor(ArID ,AuthID)SELECT @ArID,@AuthIDEND
and the you can use it like thisDECLARE @retAuthID intEXEC InsertData ArIDValue,AuthNamevalue,@retAuthIDSELECT @retAuthID