【发布时间】:2015-01-01 13:55:32
【问题描述】:
我在Group 表中有五个组,分别为 Group1、Group2、Group3、Group4、Group5,每当有新角色添加到 Role 表中时,我都必须在 GROUP_ROLES 表中输入如下
declare @gid int, @rid int
select @gid1 = id from Group where name = 'Group1'
select @gid2 = id from Group where name = 'Group2'
select @gid3 = id from Group where name = 'Group3'
select @gid4 = id from Group where name = 'Group4'
select @gid5 = id from Group where name = 'Group5'
select @rid = id from ROLE where name = 'newRole'
if @gid is not null and not exists(select * from GROUP_ROLES where group_id = @gid and roles_id = @rid)
begin
insert into GROUP_ROLES(group_id, roles_id) values (@gid1, @rid)
insert into GROUP_ROLES(group_id, roles_id) values (@gid2, @rid)
insert into GROUP_ROLES(group_id, roles_id) values (@gid3, @rid)
insert into GROUP_ROLES(group_id, roles_id) values (@gid4, @rid)
insert into GROUP_ROLES(group_id, roles_id) values (@gid5, @rid)
end
现在我有点多余的脚本。想知道有没有办法简化脚本?
【问题讨论】:
标签: sql sql-server sql-server-2008 sql-insert