サンプル テーブル (私はユーザーを混乱させません。これは単なるサンプルです)
-ImportUsers
--Name
-Users
--Id
--Name
-Roles
--Id
--Title
-UsersToRoles
--UserId
--RoleId
管理者が指定した 1 つのロールで「ImportUsers」から「Users」にコピーする方法は?
PS私はこのリンクを見ましたが、これはこの状況では役に立ちません。
サンプル テーブル (私はユーザーを混乱させません。これは単なるサンプルです)
-ImportUsers
--Name
-Users
--Id
--Name
-Roles
--Id
--Title
-UsersToRoles
--UserId
--RoleId
管理者が指定した 1 つのロールで「ImportUsers」から「Users」にコピーする方法は?
PS私はこのリンクを見ましたが、これはこの状況では役に立ちません。
テーブルとデータ
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