CREATE PROCEDURE [procDepartmentInsert]
@departmentName varchar(20),
@userID varchar(20)
AS
INSERT INTO [department](departmentName) VALUES(@departmentName)
UPDATE [userID] SET departmentID=应该怎么拿上面的ID值 WHERE userID=@userID
GO
departmentID 是标识自动增长1
谢谢麻烦了

解决方案 »

  1.   

    CREATE PROCEDURE [procDepartmentInsert] 
    @departmentName varchar(20), 
    @userID varchar(20) 
    AS 
        INSERT INTO [department](departmentName) VALUES(@departmentName) 
        UPDATE [userID] SET departmentID=@@identity WHERE userID=@userID 
    GO 
      

  2.   

    @@IDENTITY
    返回最后插入的标识值。在返回插入到表的 @@IDENTITY 列的最后一个值方面,@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 函数类似。 @@IDENTITY 和 SCOPE_IDENTITY 将返回在当前会话的所有表中生成的最后一个标识值。但是,SCOPE_IDENTITY 只在当前作用域内返回值,而 @@IDENTITY 不限于特定的作用域。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回任何会话和任何作用域中为特定表生成的标识值。