USP_SQLFUNCTIONCATALOG_CREATEORUPDATE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@FUNCTIONNAME | nvarchar(100) | IN | |
@DESCRIPTION | nvarchar(max) | IN | |
@SQLFUNCTIONSPECXML | xml | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@MARTKEY | nvarchar(255) | IN |
Definition
Copy
CREATE procedure dbo.[USP_SQLFUNCTIONCATALOG_CREATEORUPDATE]
@ID uniqueidentifier = null output,
@FUNCTIONNAME nvarchar(100),
@DESCRIPTION nvarchar(max) = '',
@SQLFUNCTIONSPECXML xml,
@CHANGEAGENTID uniqueidentifier = null,
@MARTKEY nvarchar(255) = null
as
set nocount on
declare @ExistingID uniqueidentifier
if @ID is null
begin
select @ExistingID = [ID] from dbo.[SQLFUNCTIONCATALOG] where [FUNCTIONNAME] = @FUNCTIONNAME
set @ID = @ExistingID
end
else
select @ExistingID = [ID] from dbo.[SQLFUNCTIONCATALOG] 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.[SQLFUNCTIONCATALOG]
([ID], [FUNCTIONNAME], [DESCRIPTION], [SQLFUNCTIONSPECXML], [ADDEDBYID], [CHANGEDBYID], [DATEADDED], [DATECHANGED], [MARTKEY])
values
(@ID, @FUNCTIONNAME, @DESCRIPTION, @SQLFUNCTIONSPECXML, @ChangeAgentID, @ChangeAgentID, @date, @date, @MARTKEY)
end
else
update dbo.[SQLFUNCTIONCATALOG]
set [FUNCTIONNAME] = @FUNCTIONNAME,
[DESCRIPTION] = @DESCRIPTION,
[SQLFUNCTIONSPECXML] = @SQLFUNCTIONSPECXML,
[CHANGEDBYID] = @ChangeAgentID,
[DATECHANGED] = @date,
[MARTKEY] = @MARTKEY
where ID = @ID;
if @@rowcount=0 return 1;
return 0;