示例表(我不惹用户,这只是一个示例)
-ImportUsers
--Name
-Users
--Id
--Name
-Roles
--Id
--Title
-UsersToRoles
--UserId
--RoleId
如何使用管理员指定的一个角色从“ImportUsers”复制到“用户”?
Ps 我看到了这个链接,但在这种情况下这无济于事。
示例表(我不惹用户,这只是一个示例)
-ImportUsers
--Name
-Users
--Id
--Name
-Roles
--Id
--Title
-UsersToRoles
--UserId
--RoleId
如何使用管理员指定的一个角色从“ImportUsers”复制到“用户”?
Ps 我看到了这个链接,但在这种情况下这无济于事。
假设 ID 是用户中的一个身份,并且 admin 角色存在于角色中并且没有现有用户,例如
insert into users( name )
select name from ImportUsers
insert into UsersToRoles ( UserID, RoleID )
select users.id , role.id
from users, roles
where role.name = 'admin'
您的表格和数据
create table ImportUsers (Name varchar(15))
create table Users (Id int identity(1,1), name varchar(15))
create table Roles (Id int identity(1,1), title varchar(15))
create table UsersToRoles(UserId int, RoleId int)
insert roles values('Admin')
insert ImportUsers values('Thomas')
插入数据的脚本
create table #t(id int)
--merge to ensure names will remain unique(I am assuming that is a requirement)
;MERGE INTO Users t1
using ImportUsers t2 on t1.name = t2.name
when not matched then INSERT (Name)
VALUES( t2.Name )
OUTPUT Inserted.id
INTO #t;
insert UsersToRoles (UserId, RoleId )
select t.id, r.id from #t t
join roles r
on r.Title = 'Admin'
drop table #t
--consider: delete from ImportUsers