USP_MKTSEGMENTATIONSEGMENTCALCULATEPROCESS_CREATEORUPDATE
Creates or updates the process parameter set for the given segmentation id.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@SEGMENTATIONID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_MKTSEGMENTATIONSEGMENTCALCULATEPROCESS_CREATEORUPDATE
(
@ID uniqueidentifier output,
@SEGMENTATIONID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null
)
as
begin
declare @CURRENTDATE datetime;
begin try
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
set @CURRENTDATE = GetDate();
if exists(select 1 from dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS] where [SEGMENTATIONID] = @SEGMENTATIONID)
begin
update dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS] set
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [SEGMENTATIONID] = @SEGMENTATIONID;
select @ID = ID from dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS] where [SEGMENTATIONID] = @SEGMENTATIONID;
end
else
begin
set @ID = newid();
insert into dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS] (
[ID],
[SEGMENTATIONID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
) values (
@ID,
@SEGMENTATIONID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;
end