ERP实用SQL脚本:快速复制公司权限
作者: 草上飞, 出处:草上飞's blog, 责任编辑: 张帅,
2008-02-20 08:36
本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 ) |
- 本文关键词:

