USP_AUDITHELP_GET_AUDIT_VS_SOURCE_COLUMNS

Parameters

Parameter Parameter Type Mode Description
@SOURCETABLENAME nvarchar(128) IN

Definition

Copy

        CREATE procedure [dbo].[USP_AUDITHELP_GET_AUDIT_VS_SOURCE_COLUMNS] (@SOURCETABLENAME  nvarchar(128))
        as
        /*
        gets the fields in the AUDIT table and the matching columns in the source table.
        Used to make sure the fields in the source exist exactly on the audit table
        */

        declare @auditTABLENAME  nvarchar(128)
        set @audittablename=@SOURCETABLENAME + 'AUDIT'

        select AUDIT.COLUMN_NAME as AUDITCOLUMNNAME, 
        coalesce(SOURCE.COLUMN_NAME, '') as SOURCECOLUMNNAME

        from 

        (  select COLUMN_NAME 
           from INFORMATION_SCHEMA.COLUMNS 
           where (TABLE_SCHEMA = 'dbo'
           and (TABLE_NAME = @AUDITTABLENAME
           and (COLUMN_NAME not in ('AUDITID', 'AUDITRECORDID', 'AUDITKEY', 'AUDITCHANGEAGENTID', 'AUDITDATE', 'AUDITTYPE','AUDITTYPECODE'))
        ) as AUDIT 

        left outer join

        (  select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS 
            where (TABLE_SCHEMA = 'dbo') and (TABLE_NAME = @SOURCETABLENAME)
            and (COLUMNPROPERTY(OBJECT_ID('[' + TABLE_CATALOG + '].[' + TABLE_SCHEMA + '].[' + TABLE_NAME + ']'), COLUMN_NAME, 'IsComputed') = 0
        ) as SOURCE 

         on AUDIT.COLUMN_NAME = SOURCE.COLUMN_NAME;

        return 0;