USP_TABLECATALOG_CREATEORUPDATE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@TABLENAME | nvarchar(100) | IN | |
@DESCRIPTION | nvarchar(max) | IN | |
@TABLESPECXML | xml | IN | |
@TABLESPECEXTENSIONXML | xml | IN | |
@ISBUILTIN | bit | IN | |
@ISCUSTOMIZABLE | bit | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_TABLECATALOG_CREATEORUPDATE
@ID uniqueidentifier = null output,
@TABLENAME nvarchar(100),
@DESCRIPTION nvarchar(max) = '',
@TABLESPECXML xml,
@TABLESPECEXTENSIONXML xml,
@ISBUILTIN bit=0,
@ISCUSTOMIZABLE bit=0,
@CHANGEAGENTID uniqueidentifier = null
as
set nocount on
declare @ExistingID uniqueidentifier
if @ID is null
begin
select @ExistingID = ID from dbo.TABLECATALOG where TABLENAME = @TABLENAME
set @ID = @ExistingID
end
else
select @ExistingID = ID from dbo.TABLECATALOG 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.TABLECATALOG
(ID, TABLENAME, DESCRIPTION, TABLESPECXML, TABLESPECEXTENSIONXML, ISBUILTIN, ISCUSTOMIZABLE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @TABLENAME, @DESCRIPTION, @TABLESPECXML, @TABLESPECEXTENSIONXML, @ISBUILTIN, @ISCUSTOMIZABLE, @ChangeAgentID, @ChangeAgentID, @date, @date)
end
else
update dbo.TABLECATALOG
set TABLENAME=@TABLENAME,
DESCRIPTION=@DESCRIPTION,
TABLESPECXML=@TABLESPECXML,
TABLESPECEXTENSIONXML=@TABLESPECEXTENSIONXML,
ISCUSTOMIZABLE=@ISCUSTOMIZABLE,
CHANGEDBYID=@ChangeAgentID,
DATECHANGED=@date
where ID = @ID;
if @@rowcount=0 return 1;
return 0;