USP_IDSETREGISTER_CREATEORUPDATE

Registers an ID set.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@NAME nvarchar(255) IN
@DESCRIPTION nvarchar(1024) IN
@DBOBJECTNAME nvarchar(128) IN
@OBJECTTYPE tinyint IN
@RECORDTYPEID uniqueidentifier IN
@USEINQUERYDESIGNER bit IN
@STATIC bit IN
@NUMROWS int IN
@CHANGEAGENTID uniqueidentifier IN
@OWNERID uniqueidentifier IN
@GROUPNAME nvarchar(200) IN

Definition

Copy


CREATE procedure dbo.USP_IDSETREGISTER_CREATEORUPDATE
(
    @ID uniqueidentifier = null output,
    @NAME nvarchar(255),
    @DESCRIPTION nvarchar(1024),
    @DBOBJECTNAME nvarchar(128),
    @OBJECTTYPE tinyint,
    @RECORDTYPEID uniqueidentifier,
    @USEINQUERYDESIGNER bit = 0,
    @STATIC bit = 0,
    @NUMROWS int = null,
    @CHANGEAGENTID uniqueidentifier = null,
    @OWNERID uniqueidentifier = null,
    @GROUPNAME nvarchar(200) = null
)
as  
    set nocount on;
    if @CHANGEAGENTID is null
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

    if @STATIC is null  
        set @STATIC = 0;

    if @USEINQUERYDESIGNER is null
        set @USEINQUERYDESIGNER = 0;

    declare @EXISTS bit;
    set @EXISTS=0;

    if @ID is NOT null
        select
            @EXISTS = 1
        from 
            dbo.IDSETREGISTER
        where
            ID = @ID;
    else
        set @ID = newid();

    if @EXISTS = 1   -- update existing register info

        update dbo.IDSETREGISTER set 
            NAME = @NAME,
            DESCRIPTION = @DESCRIPTION,
            STATIC = @STATIC,
            NUMROWS = @NUMROWS,
            USEINQUERYDESIGNER = @USEINQUERYDESIGNER,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = getdate(),
            OWNERID = @OWNERID,
            GROUPNAME = @GROUPNAME
        where
            IDSETREGISTER.ID = @ID;
    else  -- add new row to register

    begin
        insert into dbo.IDSETREGISTER (
            ID,
            NAME,
            DESCRIPTION,
            RECORDTYPEID,
            DBOBJECTNAME,
            OBJECTTYPE,
            STATIC,
            NUMROWS,
            USEINQUERYDESIGNER,
            ADDEDBYID,
            CHANGEDBYID,
            OWNERID,
            GROUPNAME
        ) values (
            @ID,
            @NAME,
            @DESCRIPTION,
            @RECORDTYPEID,
            @DBOBJECTNAME,
            @OBJECTTYPE,
            @STATIC,
            @NUMROWS,
            @USEINQUERYDESIGNER,
            @CHANGEAGENTID,
            @CHANGEAGENTID,
            @OWNERID,
            @GROUPNAME
        );
    end

    exec dbo.USP_IDSET_GRANTRIGHTSTOFUNCTION @DBOBJECTNAME, 'select';