USP_CONFIGURATIONDATACATALOG_CREATEORUPDATE
Creates or updates configuration data definitions in the ConfigurationDataCatalog table.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@PARENTTABLENAME | nvarchar(128) | IN | |
@PRIMARYKEYCOLUMNNAME | nvarchar(128) | IN | |
@DESCRIPTION | nvarchar(max) | IN | |
@CONFIGURATIONDATASPECXML | xml | IN | |
@EXPORTFORMMETADATAXML | xml | IN | |
@DISPLAYNAME | nvarchar(100) | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CONFIGURATIONDATAFOLDER | nvarchar(500) | IN |
Definition
Copy
create procedure dbo.USP_CONFIGURATIONDATACATALOG_CREATEORUPDATE
@ID uniqueidentifier = null output,
@PARENTTABLENAME nvarchar(128) = '',
@PRIMARYKEYCOLUMNNAME nvarchar(128) = '',
@DESCRIPTION nvarchar(max) = '',
@CONFIGURATIONDATASPECXML xml,
@EXPORTFORMMETADATAXML xml,
@DISPLAYNAME nvarchar(100),
@CHANGEAGENTID uniqueidentifier = null,
@CONFIGURATIONDATAFOLDER nvarchar(500) = ''
as
set nocount on;
declare @ExistingID uniqueidentifier
if @ID is null
begin
select @ExistingID = ID from dbo.CONFIGURATIONDATACATALOG where DISPLAYNAME = @DISPLAYNAME
set @ID = @ExistingID
end
else
select @ExistingID = ID from dbo.CONFIGURATIONDATACATALOG where ID = @ID
if @ChangeAgentID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @ChangeAgentID output
declare @date datetime
set @date = getDate()
if @ExistingID is null
begin
if @ID is null set @ID = NewID()
insert into dbo.CONFIGURATIONDATACATALOG
(ID, PARENTTABLENAME, PRIMARYKEYCOLUMNNAME, DESCRIPTION, CONFIGURATIONDATASPECXML, EXPORTFORMMETADATAXML, DISPLAYNAME, CONFIGURATIONDATAFOLDER, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @PARENTTABLENAME, @PRIMARYKEYCOLUMNNAME, @DESCRIPTION, @CONFIGURATIONDATASPECXML, @EXPORTFORMMETADATAXML, @DISPLAYNAME, @CONFIGURATIONDATAFOLDER, @CHANGEAGENTID, @CHANGEAGENTID, @DATE, @DATE)
end
else
update
dbo.CONFIGURATIONDATACATALOG
set
PARENTTABLENAME = @PARENTTABLENAME,
PRIMARYKEYCOLUMNNAME = @PRIMARYKEYCOLUMNNAME,
DESCRIPTION = @DESCRIPTION,
CONFIGURATIONDATASPECXML = @CONFIGURATIONDATASPECXML,
EXPORTFORMMETADATAXML = @EXPORTFORMMETADATAXML,
CONFIGURATIONDATAFOLDER = @CONFIGURATIONDATAFOLDER,
DISPLAYNAME = @DISPLAYNAME,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @DATE
where
ID = @ID;
if @@rowcount = 0 return 1;
return 0;