摘要:SQL 快速新增权限数据表(使用cross join)
1.因为设计系统的时候 将角色 权限 系统都做了分开处理
偏偏交集起来相当多数据

2.决定不自己打 使用cross join
先练习一下一般的语法
--use 数据库 --select a.浏览,a.修改,a.删除,b.系统名称,c.角色名称 --from 角色权限 as a --cross join 系统 as b --cross join 角色 as c --go
像这样

3.开始改写 使用cross join
--先清空表单 已经打上去的数据 use 数据库 delete 角色权限 --开始新增 use 数据库 DECLARE @defult bit SET @defult= 0 insert 角色权限 select b.系统ID ,c.角色ID, @defult,@defult,@defult,@defult,@defult,@defult,@defult,@defult from 系统 as b cross join 角色 as c go

很好....252行数据完成!!太愉快了~~
4.再补一个...一次指定某一个角色的权限
DECLARE @defult bit SET @defult= 1 update 角色权限 set 浏览=@defult, 新增=@defult, 修改=@defult, 删除=@defult, 查询=@defult, 报表=@defult, 转单=@defult where 角色ID=1
原文:大专栏 SQL 快速新增权限数据表(使用cross join)