34,590
社区成员
发帖
与我相关
我的任务
分享
--判断是否存在
if not Exists(select * from DC_CONTROL where CTLID like '%'+LTRIM(@MachineID)+'%')
begin
Set @ErrMsg='未能找到该设备,设置失败!'
Return -1
end
--如果存在,则给改人员设置所有查找出的设备权限(批量设置)
else
begin
declare CTLID_cursor cursor for
select CTLID from DC_CONTROL where CTLID like '%'+LTRIM(@MachineID)+'%'
OPEN CTLID_cursor
FETCH NEXT FROM CTLID_cursor
INTO @MachineID
WHILE @@FETCH_STATUS = 0
BEGIN
if Exists(select * from MachineAnnouncer_Set where MachineID=@MachineID and AnnouncerID=@AnnouncerID)
begin
begin Tran Tran_MachineAnnouncer_Set_UP
print ('up')
update MachineAnnouncer_Set set ISDown=@ISDown where MachineID=@MachineID and AnnouncerID=@AnnouncerID
if @@Error<>0
begin
Rollback Tran Tran_MachineAnnouncer_Set_UP
select @ErrMsg='设置权限失败!'
Return -1
end
else
begin
Commit Tran Tran_MachineAnnouncer_Set_UP
Return 0
end
end
else
begin
begin Tran Tran_MachineAnnouncer_Set_insert
print ('in')
insert into MachineAnnouncer_Set(MachineID,AnnouncerID,PurVal,ISDown)
values (@MachineID,@AnnouncerID,@PurVal,@ISDown);
if @@Error<>0
begin
Rollback Tran Tran_MachineAnnouncer_Set_insert
select @ErrMsg='设置权限失败!'
Return -1
end
else
begin
Commit Tran Tran_MachineAnnouncer_Set_insert
Return 0
end
end
end
FETCH NEXT FROM CTLID_cursor
INTO @MachineID
END
CLOSE CTLID_cursor
DEALLOCATE CTLID_cursor
select * from stu2
--try:
--判断是否存在
if not Exists(select * from DC_CONTROL where CTLID like LTRIM(@MachineID)+'%')
begin
Set @ErrMsg='设备无法确认!'
Return -1
end
--如果存在,则给改人员设置所有查找出的设备权限(批量设置)
else
begin
declare CTLID_cursor cursor for select CTLID from DC_CONTROL where CTLID like LTRIM(@MachineID)+'%'
OPEN CTLID_cursor
FETCH NEXT FROM CTLID_cursor INTO @MachineID
begin Tran Tran_MachineAnnouncer_Set_insert
WHILE @@FETCH_STATUS = 0
BEGIN
if Exists(select * from MachineAnnouncer_Set where MachineID=@MachineID and AnnouncerID=@AnnouncerID)
begin
print ('up')
update MachineAnnouncer_Set set ISDown=@ISDown where MachineID=@MachineID and AnnouncerID=@AnnouncerID
if @@Error<>0
begin
Rollback Tran Tran_MachineAnnouncer_Set_insert
CLOSE CTLID_cursor
DEALLOCATE CTLID_cursor
select @ErrMsg='设置权限失败!'
Return -1
end
end
else
begin
print ('in')
insert into MachineAnnouncer_Set(MachineID,AnnouncerID,PurVal,ISDown) values (@MachineID,@AnnouncerID,@PurVal,@ISDown);
if @@Error<>0
begin
Rollback Tran Tran_MachineAnnouncer_Set_insert
CLOSE CTLID_cursor
DEALLOCATE CTLID_cursor
select @ErrMsg='设置权限失败!'
Return -1
end
end
FETCH NEXT FROM CTLID_cursor INTO @MachineID
end
Commit Tran Tran_MachineAnnouncer_Set_insert
CLOSE CTLID_cursor
DEALLOCATE CTLID_cursor
Return 0
END
FETCH NEXT FROM CTLID_cursor
INTO @MachineID
Commit Tran Tran_MachineAnnouncer_Set_insert
Return 0
CLOSE CTLID_cursor
DEALLOCATE CTLID_cursor
END
end
--判断是否存在
if not Exists(select * from DC_CONTROL where CTLID like LTRIM(@MachineID)+'%')
begin
Set @ErrMsg='设备无法确认!'
Return -1
end
--如果存在,则给改人员设置所有查找出的设备权限(批量设置)
else
begin
declare CTLID_cursor cursor for
select CTLID from DC_CONTROL where CTLID like LTRIM(@MachineID)+'%'
OPEN CTLID_cursor
FETCH NEXT FROM CTLID_cursor
INTO @MachineID
begin Tran Tran_MachineAnnouncer_Set_insert
WHILE @@FETCH_STATUS = 0
BEGIN
if Exists(select * from MachineAnnouncer_Set where MachineID=@MachineID and AnnouncerID=@AnnouncerID)
begin
print ('up')
update MachineAnnouncer_Set set ISDown=@ISDown where MachineID=@MachineID and AnnouncerID=@AnnouncerID
if @@Error<>0
begin
Rollback Tran Tran_MachineAnnouncer_Set_insert
CLOSE CTLID_cursor
DEALLOCATE CTLID_cursor
select @ErrMsg='设置权限失败!'
Return -1
end
end
else
begin
print ('in')
insert into MachineAnnouncer_Set(MachineID,AnnouncerID,PurVal,ISDown)
values (@MachineID,@AnnouncerID,@PurVal,@ISDown);
if @@Error<>0
begin
Rollback Tran Tran_MachineAnnouncer_Set_insert
CLOSE CTLID_cursor
DEALLOCATE CTLID_cursor
select @ErrMsg='设置权限失败!'
Return -1
end
end
end
FETCH NEXT FROM CTLID_cursor
INTO @MachineID
END
Commit Tran Tran_MachineAnnouncer_Set_insert
Return 0
CLOSE CTLID_cursor
DEALLOCATE CTLID_cursor