Files
Web_AuthorityManagement_Mvc…/Models/SQLQuery1.sql

131 lines
5.0 KiB
MySQL
Raw Normal View History

2025-11-20 09:50:21 +08:00
--<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
exec ('
if exists(select * from sys.triggers where name=''trigger_OrgAuthority_update'')
--ɾ<EFBFBD><EFBFBD>DML<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
begin
drop trigger trigger_OrgAuthority_update;
end
')
exec ('
--<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD> ------------------------<EFBFBD><EFBFBD>
create trigger trigger_OrgAuthority_update
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>on OrgAuthority
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>for update
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>as
declare @AuthotypeIdnew int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted<EFBFBD><EFBFBD>¼<EFBFBD>µ<EFBFBD>ID
declare @AuthotypeIdold int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Delete<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ɵ<EFBFBD>ID
declare @AuthoId int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted<EFBFBD><EFBFBD>¼Ȩ<EFBFBD><EFBFBD>ID
declare @OrgId int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted<EFBFBD><EFBFBD>¼<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ID
declare @HotelId int;
select @AuthotypeIdold = AuthotypeId
from deleted;
select @AuthotypeIdnew = AuthotypeId,@AuthoId = AuthorityId,@OrgId = OrgId,@HotelId = HotelId
from inserted;
if update(AuthotypeId)
begin
update UserAuthoes set AuthotypeId = @AuthotypeIdnew where HotelId = @HotelId and AuthorityId = @AuthoId and AuthotypeId = @AuthotypeIdold and UserId in (select UserId from OrgUsers where OrgId = @OrgId)
end;
')
exec('
if exists(select * from sys.triggers where name=''trigger_OrgAuthority_del'')
begin
drop trigger trigger_OrgAuthority_del;
end
')
exec('
--<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ------------------------<EFBFBD><EFBFBD>
create trigger trigger_OrgAuthority_del
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>on OrgAuthority
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>for delete
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>as
declare @AuthotypeIdold int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Delete<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ɵ<EFBFBD>ID
declare @AuthoId int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted<EFBFBD><EFBFBD>¼Ȩ<EFBFBD><EFBFBD>ID
declare @OrgId int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted<EFBFBD><EFBFBD>¼<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ID
declare @HotelId int;
select @AuthotypeIdold = AuthotypeId, @AuthoId = AuthorityId,@OrgId = OrgId,@HotelId = HotelId
from deleted;
delete UserAuthoes where HotelId = @HotelId and AuthorityId = @AuthoId and AuthotypeId = @AuthotypeIdold and UserId in (select UserId from OrgUsers where OrgId = @OrgId)
')
exec('
--<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD> ------------------------<EFBFBD><EFBFBD>
if exists(select * from sys.triggers where name=''trigger_OrgAuthority_Insert'')
begin
drop trigger trigger_OrgAuthority_Insert;
end
')
exec('
create trigger trigger_OrgAuthority_Insert --- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---------------------------- <20>û<EFBFBD>δ<EFBFBD><CEB4><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ѹ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>on OrgAuthority
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>for insert
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>as
declare @AuthotypeIdnew int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted<EFBFBD><EFBFBD>¼<EFBFBD>µ<EFBFBD>ID
declare @AuthoId int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted<EFBFBD><EFBFBD>¼Ȩ<EFBFBD><EFBFBD>ID
declare @OrgId int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted<EFBFBD><EFBFBD>¼<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ID
declare @HotelId int;
select @AuthotypeIdnew = AuthotypeId,@AuthoId = AuthorityId,@OrgId = OrgId,@HotelId = HotelId
from inserted;
insert into UserAuthoes(AuthorityId,AuthotypeId,UserId, HotelId) select @AuthoId,@AuthotypeIdnew,UserId,@HotelId from OrgUsers where OrgId = @OrgId and (select count(*) from UserAuthoes where UserId = OrgUsers.UserId and AuthorityId = @AuthoId and HotelId = @HotelId)<0
')
exec('
--<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>޸<EFBFBD>ֵ
if exists(select * from sys.triggers where name=''trigger_Orguserinfo_Insert'')
begin
drop trigger trigger_Orguserinfo_Insert
end
')
exec('
create trigger trigger_Orguserinfo_Insert ------------------------<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>on OrgUsers
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>for insert
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>as
declare @userid int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted <EFBFBD><EFBFBD>¼<EFBFBD>û<EFBFBD>id
declare @OrgId int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted<EFBFBD><EFBFBD>¼<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ID
select @userid = UserId,@OrgId = OrgId
from inserted;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>е<EFBFBD>Ȩ<EFBFBD><EFBFBD>
insert into UserAuthoes(AuthorityId,AuthotypeId,UserId,HotelId)
select AuthorityId,AuthotypeId,@userid,HotelId from OrgAuthority
where OrgId = @OrgId and
(select count(*) from UserAuthoes where UserId = @userid and AuthorityId = OrgAuthority.AuthorityId and HotelId = OrgAuthority.HotelId) = 0
')
--select * from View_UOA
--<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ʱ<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>޸<EFBFBD>ֵ
exec('
if exists(select * from sys.triggers where name=''trigger_Orguserinfo_Updata'')
begin
drop trigger trigger_Orguserinfo_Updata
end
')
exec('
create trigger trigger_Orguserinfo_Updata
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>on OrgUsers
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>for update
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>as
declare @userid int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted <EFBFBD><EFBFBD>¼<EFBFBD>û<EFBFBD>id
declare @OrgId int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ID
declare @oldOrgId int; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Inserted<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ID
select @userid = UserId,@OrgId = OrgId
from inserted;
select @oldOrgId = OrgId
from deleted;
--ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
delete UserAuthoes where (
select count(*) from OrgAuthority where UserAuthoes.UserId = @userid
and UserAuthoes.HotelId = HotelId
and UserAuthoes.AuthotypeId = AuthotypeId
and UserAuthoes.AuthorityId = AuthorityId
)>0
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
insert into UserAuthoes(AuthorityId,AuthotypeId,UserId,HotelId)
select AuthorityId,AuthotypeId,@userid,HotelId from OrgAuthority
where OrgId = @OrgId and
(select count(*) from UserAuthoes where UserId = @userid and AuthorityId = OrgAuthority.AuthorityId and HotelId = OrgAuthority.HotelId) = 0
')
insert into OrgUsers(OrgId,UserId,CreateTime) select 1,Id,GETDATE() from UserInfo where id not in (select UserId from OrgUsers)