日期:2014-05-18 浏览次数:20628 次
ALTER PROCEDURE [dbo].[Mcd_cr_user_AddNewUser]
@userId int,
@nowSystem_id int,
@OpUserId int
AS
BEGIN
--从临时表读取数据存入临时表
select [region_id],[first_name],[second_name],[update_user],[update_time],[ad_account],[email] into #T from [MCDTemp].[dbo].[McD_CR_Tmp_User] where [tmp_user_id]=@userId
--定义存入实际用户表的变量名
declare @RegionId int
declare @firstname varchar(50)
declare @secondname varchar(50)
declare @password varchar(50)
declare @updatetime smalldatetime
declare @updateruser int
declare @ad_account nvarchar(50)
declare @email nvarchar(100)
declare @expire_flag bit
declare @delete_flag bit
declare @newUserId int
declare @isAdmin int
--从临时表中读取数据给变量赋值
select @RegionId= [region_id] from #T
select @firstname=[first_name] from #T
select @secondname=[second_name] from #T
select @updatetime=[update_time] from #T
select @updateruser=[update_user] from #T
select @ad_account=[ad_account] from #T
select @email=[email] from #T
set @expire_flag= 1
set @delete_flag= 0
set @password= 'pass1234'
set @isAdmin= 0
--执行插入新表操作
insert into [McD_CR].[dbo].[McD_Sys_Data_User]([region_id],[first_name],[second_name],[update_user],[update_time],[ad_account],[email],[expire_flag],[delete_flag],[password],[is_admin])
values(@RegionId,@firstname,@secondname,@updateruser,@updatetime,@ad_account,@email,@expire_flag,@delete_flag,@password,@isAdmin)
--取得新增的userID
select @newUserId=(select [USER_ID] from [McD_CR].[dbo].[McD_Sys_Data_User]
where [region_id]=@RegionId and [first_name]=@firstname and [second_name]=@secondname
)
--定义存入新角色表关系游标中的变量
declare @role_rel_role_id int
declare @role_rel_module_id int
--定义存入新角色关系表的变量
declare @newRole_userId int
declare @newRole_relId int
declare @newRole_moduleRel_id int
--读取临时表该用户的角色关系记录存入新角色关系表
declare MyCursorRoleRel cursor for select [role_id],[module_id] FROM [MCDTemp].[dbo].[McD_CR_Tmp_User_Role] where [tmp_user_id]=@userId
open MyCursorRoleRel
fetch next from MyCursorRoleRel into @role_rel_role_id,@role_rel_module_id
while(@@fetch_status=0)
begin
select @newRole_userId= @newUserId
select @newRole_relId= @role_rel_role_id
select @newRole_moduleRel_id= @role_rel_module_id
insert into [McD_CR].[dbo].[McD_Sys_Rel_User_Role] values(@newRole_userId,@newRole_relId,@newRole_moduleRel_id)
fetch next from MyCursorRoleRel into @role_rel_role_id,@role_rel_module_id
end
close MyCursorRoleRel
deallocate MyCursorRoleRel
--新增用户角色关系表添加结束
--定义存入新用户组织关系游标中的变量
declare @orgrel_orgId int
--定义存入新用户组织关系表中的变量
declare @newOrgRel_userId int
declare @newOrgRel_orgId int
declare @system_id int
declare @update_id int
declare @update_time smalldatetime
--读取临时表中的数据存入新用户组织关系表
declare MyCursorRoleOrg cursor for select [node_key] FROM [MCDTemp].[dbo].[McD_CR_Tmp_User_Org] where [tmp_user_id]=@userId and [org_type]=1
open MyCursorRoleOrg
fetch next from MyCursorRoleOrg into @orgrel_orgId
while(@@fetch_status=0)
begin
select @newOrgRel_orgId= @orgrel_orgId
select @newOrgRel_userId= @newUserId
select @system_id= @nowSystem_id
select @update_id= @OpUserId
select @update_time=GETDATE()
insert into [McD_CR].[dbo].[McD_Sys_Rel_User_Org] values(@newOrgRel_userId,@newOrgRel_orgId,@system_id,@update_time,@update_id)
fetch next from MyCursorRoleOrg into @orgrel_orgId
end
close MyCursorRoleOrg
deallocate MyCursorRoleOrg
--新增用户组织关系表添加结束
--定义插入新组织关系授权表的变量
declare @newOPSUserId int
declare @newOPSNodeId int
declare @newOPSNodeLevel int
declare @newOpsUpdateTime smalldatetime
declare @newOPSUpdateUserId int
select [node_key],[node_level] into #T1 FROM [MCDTemp].[dbo].[Mcd_CR_Tmp_User_Org] where [tmp_user_id]=@userId and [org_type]=2
select @newOPSUserId= @newUserId
select @newOPSNodeId=[node_key] from #T1
select @newOPSNodeLevel=[node_level] from #T1
set @newOpsUpdateTime=GETDATE()
select @newOPSUpdateUserId