SQL 快速新增權限資料表(使用cross join)

  • 586
  • 0
  • 2013-03-05

摘要: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