问题:需要在存储过程里把@@identity的值付给另一个存储过程里的参数
示例:
--增加新用户存储过程
create procedure AddNewUser
@newUser nvarchar(100)='',  --新登录用户名
@newPwd nvarchar(100)='',  --新用户登录密码
@newTrueName nvarchar(100)='',  --新登录用户真实姓名
@newDeptId nvarchar(50)='',  --新用户部门ID号
@newPartId nvarchar(50)='',  --新用户角色ID号
@newAuthorityId nvarchar(50)='',  --新用户权限ID号
@newFactoryCode nvarchar(20)='',  --新用户工厂Code号
as
begindeclare newId--新增加用户
insert into UserInfo (userLName,userLPwd,userTName) values(@newUser,@newPwd,@newTrueName) select @@identity as id--增加新用户的新部门
insert into UserDeptInfo (userId,diId) values(newId,@newDeptId)--增加新用户的新角色
insert into UserPartInfo (userId,piId) values(newId,@newPartId)--增加新用户的新权限
insert into UserAuthorityInfo (userId,aiId) values(newId,@newAuthorityId)--增加新用户的工厂
insert into UserFactoryInfo (userId,fiCode) values(,@newFactoryCode)end
我需要把@@identity的值付给变量newId,请问这个怎么实现?急!!!在线等

解决方案 »

  1.   


    --增加新用户存储过程 
    create procedure AddNewUser 
    @newUser nvarchar(100)='',  --新登录用户名 
    @newPwd nvarchar(100)='',  --新用户登录密码 
    @newTrueName nvarchar(100)='',  --新登录用户真实姓名 
    @newDeptId nvarchar(50)='',  --新用户部门ID号 
    @newPartId nvarchar(50)='',  --新用户角色ID号 
    @newAuthorityId nvarchar(50)='',  --新用户权限ID号 
    @newFactoryCode nvarchar(20)='',  --新用户工厂Code号 
    as 
    begin declare @id int--新增加用户 
    insert into UserInfo (userLName,userLPwd,userTName) values(@newUser,@newPwd,@newTrueName)
    set @id=@@identity--增加新用户的新部门 
    insert into UserDeptInfo (userId,diId) values(@id,@newDeptId) --增加新用户的新角色 
    insert into UserPartInfo (userId,piId) values(@id,@newPartId) --增加新用户的新权限 
    insert into UserAuthorityInfo (userId,aiId) values(@id,@newAuthorityId) --增加新用户的工厂 
    insert into UserFactoryInfo (userId,fiCode) values(@id,@newFactoryCode) 
      

  2.   


    create procedure AddNewUser 
    @newUser nvarchar(100)='',  --新登录用户名 
    @newPwd nvarchar(100)='',  --新用户登录密码 
    @newTrueName nvarchar(100)='',  --新登录用户真实姓名 
    @newDeptId nvarchar(50)='',  --新用户部门ID号 
    @newPartId nvarchar(50)='',  --新用户角色ID号 
    @newAuthorityId nvarchar(50)='',  --新用户权限ID号 
    @newFactoryCode nvarchar(20)='',  --新用户工厂Code号 
    as 
    begin declare @newId int--新增加用户 
    insert into UserInfo (userLName,userLPwd,userTName) values(@newUser,@newPwd,@newTrueName) select @newId = @@identity--增加新用户的新部门 
    insert into UserDeptInfo (userId,diId) values(@newId,@newDeptId) --增加新用户的新角色 
    insert into UserPartInfo (userId,piId) values(@newId,@newPartId) --增加新用户的新权限 
    insert into UserAuthorityInfo (userId,aiId) values(@newId,@newAuthorityId) --增加新用户的工厂 
    insert into UserFactoryInfo (userId,fiCode) values(,@newFactoryCode) end 
    这样不行吗?
      

  3.   

    --增加新用户的工厂 
    insert into UserFactoryInfo (userId,fiCode) values(@newId ,@newFactoryCode)  --漏了个@newId 
      

  4.   

    --增加新用户存储过程 
    create procedure AddNewUser 
    @newUser nvarchar(100)='',  --新登录用户名 
    @newPwd nvarchar(100)='',  --新用户登录密码 
    @newTrueName nvarchar(100)='',  --新登录用户真实姓名 
    @newDeptId nvarchar(50)='',  --新用户部门ID号 
    @newPartId nvarchar(50)='',  --新用户角色ID号 
    @newAuthorityId nvarchar(50)='',  --新用户权限ID号 
    @newFactoryCode nvarchar(20)='',  --新用户工厂Code号 
    as 
    begin declare newId --新增加用户 
    insert into UserInfo (userLName,userLPwd,userTName) values(@newUser,@newPwd,@newTrueName) select newID=@@identity --增加新用户的新部门 
    insert into UserDeptInfo (userId,diId) values(newId,@newDeptId) --增加新用户的新角色 
    insert into UserPartInfo (userId,piId) values(newId,@newPartId) --增加新用户的新权限 
    insert into UserAuthorityInfo (userId,aiId) values(newId,@newAuthorityId) --增加新用户的工厂 
    insert into UserFactoryInfo (userId,fiCode) values(,@newFactoryCode) end 
      

  5.   

    alter procedure AddNewUser 
    @newUser nvarchar(100)='',  --新登录用户名 
    @newPwd nvarchar(100)='',  --新用户登录密码 
    @newTrueName nvarchar(100)='',  --新登录用户真实姓名 
    @newDeptId nvarchar(50)='',  --新用户部门ID号 
    @newPartId nvarchar(50)='',  --新用户角色ID号 
    @newAuthorityId nvarchar(50)='',  --新用户权限ID号 
    @newFactoryCode nvarchar(20)=''  --新用户工厂Code号 
    as 
    begin declare @newId  int--新增加用户 
    insert into UserInfo (userLName,userLPwd,userTName) 
    values(@newUser,@newPwd,@newTrueName) 
    set @newid=@@identity--增加新用户的新部门 
    insert into UserDeptInfo (userId,diId) values(@newId,@newDeptId) --增加新用户的新角色 
    insert into UserPartInfo (userId,piId) values(@newId,@newPartId) --增加新用户的新权限 
    insert into UserAuthorityInfo (userId,aiId) values(@newId,@newAuthorityId) --增加新用户的工厂 
    insert into UserFactoryInfo (userId,fiCode) values(@newid,@newFactoryCode) end