USP_MKTSOURCEANALYSISRULEFIELDS_SAVE
Saves all fields related to a source analysis rule.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CHANGEAGENTID | uniqueidentifier | IN | |
@ID | uniqueidentifier | IN | |
@SOURCEANALYSISRULEID | uniqueidentifier | IN | |
@NAME | nvarchar(255) | IN | |
@QUERYVIEWCATALOGID | uniqueidentifier | IN | |
@QUERYFIELD | nvarchar(255) | IN | |
@SEQUENCE | int | IN | |
@ISACTIVE | bit | IN | |
@PURPOSE | nvarchar(255) | IN | |
@SMARTFIELDTABLECATALOGID | uniqueidentifier | IN | |
@ISCUSTOM | bit | IN | |
@DBOBJECTNAME | nvarchar(255) | IN | |
@ADHOCQUERYID | uniqueidentifier | IN | |
@RECORDSOURCEID | uniqueidentifier | IN | |
@VIEWPATH | nvarchar(4000) | IN | |
@CACHETABLECOLUMNNAME | nvarchar(128) | IN | |
@ISIDSET | bit | IN | |
@QUERYABLE | bit | IN |
Definition
Copy
CREATE procedure dbo.[USP_MKTSOURCEANALYSISRULEFIELDS_SAVE]
(
@CHANGEAGENTID uniqueidentifier = null,
@ID uniqueidentifier = null,
@SOURCEANALYSISRULEID uniqueidentifier,
@NAME nvarchar(255),
@QUERYVIEWCATALOGID uniqueidentifier,
@QUERYFIELD nvarchar(255),
@SEQUENCE int,
@ISACTIVE bit,
@PURPOSE nvarchar(255),
@SMARTFIELDTABLECATALOGID uniqueidentifier,
@ISCUSTOM bit,
@DBOBJECTNAME nvarchar(255),
@ADHOCQUERYID uniqueidentifier,
@RECORDSOURCEID uniqueidentifier,
@VIEWPATH nvarchar(4000),
@CACHETABLECOLUMNNAME nvarchar(128),
@ISIDSET bit,
@QUERYABLE bit = true
)
as
set nocount on;
declare @CURRENTDATE datetime = getdate();
declare @SMARTFIELDID uniqueidentifier;
begin try
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
select
@SMARTFIELDID = [ID]
from dbo.[SMARTFIELD]
where [ID] = @SMARTFIELDTABLECATALOGID
or [TABLECATALOGID] = @SMARTFIELDTABLECATALOGID;
if exists(select * from dbo.[MKTSOURCEANALYSISRULEFIELDS] where [ID] = @ID)
/* Update the output field - restrict this to only update specific fields */
update dbo.[MKTSOURCEANALYSISRULEFIELDS] set
[NAME] = @NAME,
[PURPOSE] = @PURPOSE,
[ISACTIVE] = @ISACTIVE,
[SEQUENCE] = @SEQUENCE,
[QUERYABLE] = @QUERYABLE,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @ID;
else
begin
if @ID is null
set @ID = newid();
/* Save the output field */
insert into dbo.[MKTSOURCEANALYSISRULEFIELDS] (
[ID],
[SOURCEANALYSISRULEID],
[NAME],
[QUERYVIEWCATALOGID],
[QUERYFIELD],
[SEQUENCE],
[ISACTIVE],
[PURPOSE],
[SMARTFIELDID],
[ISCUSTOM],
[DBOBJECTNAME],
[ADHOCQUERYID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[VIEWPATH],
[CACHETABLECOLUMNNAME],
[ISIDSET],
[QUERYABLE]
) values (
@ID,
@SOURCEANALYSISRULEID,
@NAME,
@QUERYVIEWCATALOGID,
@QUERYFIELD,
@SEQUENCE,
@ISACTIVE,
@PURPOSE,
@SMARTFIELDID,
@ISCUSTOM,
@DBOBJECTNAME,
@ADHOCQUERYID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@VIEWPATH,
@CACHETABLECOLUMNNAME,
@ISIDSET,
@QUERYABLE
);
end
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;