首页 > 新闻系统 > 编程天地 > 文章正文

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

2008-02-20 09:14:22 来源:草上飞 blog 作者: 点击:
本SQL用于新建公司帐套时,可能该新建公司与以前存在的公司的操作员及操作员的权限均会相同,则我们可以用该脚本快速复制公司之间的权限(包括操作员角色、及对应权限)。

  本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
  )


精彩推荐
焦点大图推荐
本类热门文章

论坛美图

本周软件下载排行

广告联系 | 版权说明 | 意见建议 | 加入收藏 | 军网站群 [ 军软件园 - 军软件商城 - 军软件园论坛 ]

电信与信息服务业务经营许可证:京ICP证050203