Stored Procedures [dbo].[XLedgerImportCompanies]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@itemsXLedgerCompanyImportItemsmax
Permissions
TypeActionOwning Principal
GrantExecuteMssExec
SQL Script
CREATE PROCEDURE [dbo].[XLedgerImportCompanies]
    @items XLedgerCompanyImportItems readonly
AS
begin
    set nocount on

    ;with MergeData as (
        select Item.[XLedgerDbId], Item.[Name]
        from @items Item

    ) merge XLedgerCompany with (tablock) using MergeData on
        XLedgerCompany.[XLedgerDbId] = MergeData.[XLedgerDbId]
      when matched then update set [Name] = MergeData.[Name]
      when not matched then insert([XLedgerDbId], [Name]) values(MergeData.[XLedgerDbId], MergeData.[Name])
      --XLTD: we likely will want to include a 'when not matched by source' in order to 'inactivate'
      -- companies since we're passing in a full list of companies here.
      ;

end
GO
GRANT EXECUTE ON  [dbo].[XLedgerImportCompanies] TO [MssExec]
GO
Uses