创建插入语句以从SQL表复制现有数据

时间:2019-03-07 02:01:44

标签: sql

我需要为用户提供170个不同部门代码的访问权限。 UserAccess表包含权限,并授予访问权限,我只需要在UserId列中输入带有员工ID的新行,在DepartmentCode列中输入具有部门代码的行。问题是我不想手动输入170个不同的插入语句。我正在尝试找出如何复制一个已经可以访问所有部门代码的现有用户。

dbo。部门

  • 部门代码(PK,字符(5),不为空)
  • 说明(varchar(50),null)

dbo.UserAccess

  • UserId(varchar(10),不为null)
  • 部门代码(FK,char(5),不为null)

1 个答案:

答案 0 :(得分:1)

这将插入所有部门的用户ID:

insert into useraccess (userid, departmentcode)
   select @userid, departmentcode
   from departments;

如果要从现有用户复制部门:

insert into useraccess (userid, departmentcode)
   select @userid, ua.departmentcode
   from useraccess ua
   where ua.userid = @existing_userid;