使用T-sql复制角色

时间:2014-01-25 20:16:21

标签: sql-server

我有一个用户表,其中包含一个分配给项目角色的用户列表,我想将用户角色复制给新用户。

示例

John是分配给具有不同角色级别的多个项目的用户,我想通过创建新用户henry来复制john个人资料。

sqlfiddle我的桌子的例子。

因此最终结果应为

EMP_ID  USERNAME    Role    PROJECT
--------------------------------------------    
5       Henry           Admin   Test1
5       Henry           superuser   Test2

2 个答案:

答案 0 :(得分:2)

假设您在示例中为John分配了不同的Emp_ID作为错误,我会按如下方式编写;

INSERT INTO users
SELECT 5, 'Henry', Role, Project
FROM Users
WHERE Emp_ID = 1 -- John's Emp_ID

- 如果不是错误

WHERE Emp_ID IN (1,4)

答案 1 :(得分:1)

您可以通过以下两种方式获得结果:

`
CREATE TABLE #users
([Emp_ID] int, [username] varchar(255), [Role] varchar(255)
     , [Project] varchar(255))
 ;

    INSERT INTO #users
([Emp_ID], [username], [Role],[Project])
     VALUES
   (1,'John','Admin','Test1'),
   (2,'Tim','user','Test3'),
   (3,'Jack','user','Test4'),
    (4,'John','superuser','Test2');
 Select * from #users

INSERT INTO #users
([Emp_ID], [username], [Role],[Project])
Select 5,'Henry', Role, Project 
from #Users where Emp_ID in (1,4)

or 
Select 5,'Henry', Role, Project 
from #Users where Username='John'
 `