USP_DATAFORMTEMPLATE_ADD_CMS_SESSIONVARIABLEBACKUP

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@KEYGUID uniqueidentifier IN
@DATA xml IN
@XMLTYPES xml IN
@TYPECODE int IN

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CMS_SESSIONVARIABLEBACKUP
(
  @ID uniqueidentifier = null output,
    @KEYGUID uniqueidentifier,
  @DATA xml,
  @XMLTYPES xml = '',
  @TYPECODE integer = 0
)
as

set nocount on;

if @ID is null
    set @ID = newid();

declare @CHANGEAGENTID uniqueidentifier;
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();

begin try
  declare @KEYGUIDEXISTS bit = 0;
  select @KEYGUIDEXISTS = 1 from dbo.CMS_SESSIONVARIABLEBACKUP where KEYGUID = @KEYGUID;

  if @KEYGUIDEXISTS = 1
  begin
    update dbo.CMS_SESSIONVARIABLEBACKUP
    set DATA = @DATA, TYPECODE = @TYPECODE, XMLTYPES = @XMLTYPES
    where KEYGUID = @KEYGUID;
  end
  else
  begin
    -- handle inserting the data

      insert into dbo.CMS_SESSIONVARIABLEBACKUP
          (ID, KEYGUID, DATA, TYPECODE, XMLTYPES, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
      values
          (@ID, @KEYGUID, @DATA, @TYPECODE, @XMLTYPES, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
    end
end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0