USP_SMARTQUERY_GRANTAPPUSERROLES

Parameters

Parameter Parameter Type Mode Description
@SMARTQUERYID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_SMARTQUERY_GRANTAPPUSERROLES
(
  @SMARTQUERYID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier
)
as
begin
  --Use a merge statement in case the smart query system role permission already exists

  merge into dbo.SYSTEMROLEPERM_SMARTQUERY [TARGET]
  using (
    select SYSTEMROLE.ID
    from dbo.SYSTEMROLE
      inner join dbo.SYSTEMROLEAPPUSER on SYSTEMROLE.ID = SYSTEMROLEAPPUSER.SYSTEMROLEID
    where SYSTEMROLEAPPUSER.APPUSERID = @CURRENTAPPUSERID
  ) [SOURCE]
  on
    [SOURCE].ID = [TARGET].SYSTEMROLEID and [TARGET].SMARTQUERYCATALOGID = @SMARTQUERYID
  when not matched by target then
    insert (SYSTEMROLEID, GRANTORDENY, ID, SMARTQUERYCATALOGID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
    values ([SOURCE].ID, 1, newid(), @SMARTQUERYID, @CHANGEAGENTID, @CHANGEAGENTID, getdate(), getdate());

end