ERP实用SQL脚本:快速复制公司权限

开发者在线 Builder.com.cn 更新时间:2008-02-22

本文关键词: 权限 脚本 sql erp

  本SQL用于,新建公司帐套的时候,可能该新建公司与以前存在的公司的操作员及操作员的权限均会相同,则我们可以用该脚本快速复制公司之间的权限(包括操作员、角色、及操作员角色对应的权限),具体SQL脚本为:

  declare @sourcepkcorp char(4) --来源公司

  declare @topkcorp char(4) --目的公司

  declare @nowtime char(19) --TS时间

  declare @left4='AAAA'--为了使新增数据的记录与数据库中的已存记录的主键不冲突,所以新生成的主键左边4位为'AAAA'以保证不重复。

  set @souecepkcorp='1011'

  set @topkcorp='1015'

  set @nowtime='2008-01-21 11:50:00'

  --1.复制海南的角色至北京

  

  insert into sm_group

  select replace(cgroupid,@sourcepkcorp,@left4),0,group_name,group_note,@topkcorp,@nowtime from sm_group

  where group_name not in (

  select group_name from sm_group where pk_corp=@topkcorp

  

  ) and pk_corp=@sourcepkcorp

  --2.复制角色权限。

  insert into sm_usergrouppower

  select @left4+right(cpowerid,16),0,funid,replace(groupid,@sourcepkcorp,@left4),@topkcorp,@nowtime from sm_usergrouppower where groupid in (

  select cgroupid from sm_group where pk_corp=@sourcepkcorp

  ) and dr=0 and replace(groupid,@sourcepkcorp,@left4) in (

  select cgroupid from sm_group where pk_corp=@topkcorp

  )

  

  --3.将海南有的用户都关联至北京公司。

  insert into sm_userandcorp

  select dr,@topkcorp,@left4+RIGHT(pk_userandcorp,16),@nowtime,userid from sm_userandcorp where pk_corp=@sourcepkcorp

  and userid not in(

  select userid from sm_userandcorp where pk_corp=@topkcorp

  )

  --4.将用户关联角色。

  insert into sm_user_rela

  select replace(crelaid,@sourcepkcorp,@topkcorp),0,replace(groupid,@sourcepkcorp,@left4),@topkcorp,@nowtime,userid from sm_user_rela

  

  where pk_corp=@sourcepkcorp and replace(groupid,@sourcepkcorp,@left4) in (

  select cgroupid from sm_group where pk_corp=@topkcorp

  )

  推荐人评论

  本SQL用于,新建公司帐套的时候,可能该新建公司与以前存在的公司的操作员及操作员的权限均会相同,则我们可以用该脚本快速复制公司之间的权限(包括操作员、角色、及操作员角色对应的权限)。

用户评论

  • 用户名
  • 评论内容