您的位置:首页 > 数据库

用友ERP-NC精华实用SQL脚本之:快速复制公司的权限

2008-02-17 09:37 323 查看
本文作者:草上飞
网址:http://www.newbooks.com.cn
本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


)



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: