USP_CODETABLE_CREATEORUPDATE
Create or update code table
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@DBTABLENAME | nvarchar(100) | IN | |
@CODETABLENAME | nvarchar(100) | IN | |
@CODETABLESPECXML | xml | IN | |
@ISBUILTIN | bit | IN | |
@CATEGORYID | uniqueidentifier | IN | |
@ChangeAgentID | uniqueidentifier | IN | |
@SPECUINAME | nvarchar(100) | IN |
Definition
Copy
CREATE procedure dbo.USP_CODETABLE_CREATEORUPDATE
@ID uniqueidentifier = null output,
@DBTABLENAME nvarchar(100),
@CODETABLENAME nvarchar(100),
@CODETABLESPECXML xml,
@ISBUILTIN bit,
@CATEGORYID uniqueidentifier,
@ChangeAgentID uniqueidentifier=null,
@SPECUINAME nvarchar(100) = N''
as
set nocount on
if @DBTABLENAME is null or @DBTABLENAME = ''
begin
raiserror ('DBTableName was missing or blank', 16,1)
return 5
end
if @CODETABLENAME is null or @CODETABLENAME = ''
begin
raiserror ('CodeTableName was missing or blank', 16,1)
return 5
end
if @CATEGORYID is null
begin
raiserror ('CategoryID was missing or blank', 16,1)
return 5
end
if @SPECUINAME is null
set @SPECUINAME = N'';
declare @ExistingID uniqueidentifier
if @ID is null
begin
select @ExistingID = ID from dbo.CODETABLECATALOG where DBTABLENAME = @DBTABLENAME
set @ID = @ExistingID
end
else
select @ExistingID = ID from dbo.CODETABLECATALOG 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.CODETABLECATALOG
(ID, DBTABLENAME, CODETABLENAME, CODETABLESPECXML, ISBUILTIN, CATEGORYID, SPECUINAME, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @DBTABLENAME, @CODETABLENAME, @CODETABLESPECXML, @ISBUILTIN, @CATEGORYID, @SPECUINAME, @ChangeAgentID, @ChangeAgentID, @date, @date)
end
else
update dbo.CODETABLECATALOG
set CODETABLENAME=@CODETABLENAME,
CATEGORYID=@CATEGORYID,
CODETABLESPECXML=@CODETABLESPECXML,
SPECUINAME=@SPECUINAME,
CHANGEDBYID=@ChangeAgentID,
DATECHANGED=@date
where ID = @ID;
if @@rowcount=0 return 3;
return 0;