USP_RELATIONSHIPMAPCATALOG_CREATEORUPDATE
Creates or updates a relationship map definition.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@NAME | nvarchar(100) | IN | |
@DESCRIPTION | nvarchar(255) | IN | |
@CONTEXTRECORDTYPE | nvarchar(255) | IN | |
@RELATIONSHIPMAPSPECXML | xml | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_RELATIONSHIPMAPCATALOG_CREATEORUPDATE(
@ID uniqueidentifier,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255),
@CONTEXTRECORDTYPE nvarchar(255),
@RELATIONSHIPMAPSPECXML xml,
@CHANGEAGENTID uniqueidentifier = null
)
as
begin
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CONTEXTRECORDTYPEID uniqueidentifier;
if len(@CONTEXTRECORDTYPE) > 0
begin
exec dbo.USP_RECORDTYPE_GETID_OR_CREATE_FROMNAME @NAME = @CONTEXTRECORDTYPE, @CHANGEAGENTID = @CHANGEAGENTID, @RECORDTYPEID = @CONTEXTRECORDTYPEID output;
end;
if @ID is null or @ID = '00000000-0000-0000-0000-000000000000'
begin
set @ID = newid();
end;
if exists(select ID from dbo.RELATIONSHIPMAPCATALOG where ID = @ID)
begin
update dbo.RELATIONSHIPMAPCATALOG set
ID = @ID,
NAME = @NAME,
DESCRIPTION = @DESCRIPTION,
CONTEXTRECORDTYPEID = @CONTEXTRECORDTYPEID,
RELATIONSHIPMAPSPECXML = @RELATIONSHIPMAPSPECXML,
CHANGEDBYID = @CHANGEAGENTID
where dbo.RELATIONSHIPMAPCATALOG.ID = @ID;
end
else
begin
insert into dbo.RELATIONSHIPMAPCATALOG
(
ID,
NAME,
DESCRIPTION,
CONTEXTRECORDTYPEID,
RELATIONSHIPMAPSPECXML,
ADDEDBYID,
CHANGEDBYID
)
values
(
@ID,
@NAME,
@DESCRIPTION,
@CONTEXTRECORDTYPEID,
@RELATIONSHIPMAPSPECXML,
@CHANGEAGENTID,
@CHANGEAGENTID
)
end;
end;