USP_SMARTQUERYINSTANCE_DELETE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@APPUSERID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_SMARTQUERYINSTANCE_DELETE(@ID uniqueidentifier,
@APPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier)
as
set nocount on;
declare @EXISTINGOWNERID uniqueidentifier;
declare @EXISTINGOWNER nvarchar(128);
declare @EXISTINGOTHERSCANMODIFY bit;
declare @ISSYSADMIN bit;
select @EXISTINGOTHERSCANMODIFY = SMARTQUERYINSTANCE.OTHERSCANMODIFY,
@EXISTINGOWNERID = SMARTQUERYINSTANCE.OWNERID,
@EXISTINGOWNER = APPUSER.USERNAME
from dbo.SMARTQUERYINSTANCE
inner join dbo.APPUSER on SMARTQUERYINSTANCE.OWNERID = APPUSER.ID
where SMARTQUERYINSTANCE.ID = @ID;
select @ISSYSADMIN = ISSYSADMIN from dbo.APPUSER where ID = @APPUSERID;
if @EXISTINGOWNERID <> @APPUSERID and @ISSYSADMIN = 0
begin
if @EXISTINGOTHERSCANMODIFY = 0
begin
raiserror(N'This smart query instance can only be deleted by the user %s or a system administrator.', 16, 1, @EXISTINGOWNER);
return 1;
end;
end;
exec dbo.USP_SMARTQUERYINSTANCE_DELETEIDSET @ID, @CHANGEAGENTID;
exec dbo.USP_SMARTQUERYINSTANCE_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID;