USP_APPUSER_GETALLSYSTEMROLES_UPDATEFROMXML
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@APPUSERID | uniqueidentifier | IN | |
@SYSTEMROLES | xml | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CHANGEDATE | datetime | IN |
Definition
Copy
create procedure dbo.USP_APPUSER_GETALLSYSTEMROLES_UPDATEFROMXML
(
@APPUSERID uniqueidentifier,
@SYSTEMROLES xml,
@CHANGEAGENTID uniqueidentifier = null,
@CHANGEDATE datetime = null
)
as
set nocount on;
if @CHANGEAGENTID is null
exec USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
if @CHANGEDATE is null
set @CHANGEDATE = getdate();
merge into dbo.SYSTEMROLEAPPUSER target
using (
select
ROLES.SYSTEMROLEID
from dbo.UFN_APPUSER_GETALLSYSTEMROLES_FROMITEMLISTXML(@SYSTEMROLES) ROLES
where ROLES.SELECTED = 1
) source
on source.SYSTEMROLEID = target.SYSTEMROLEID
and target.APPUSERID = @APPUSERID
when not matched by target then
insert (ID, SYSTEMROLEID, APPUSERID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (newID(), source.SYSTEMROLEID, @APPUSERID, @CHANGEAGENTID, @CHANGEAGENTID, @CHANGEDATE, @CHANGEDATE)
when not matched by source and target.APPUSERID = @APPUSERID then delete;