USP_CREATE_V_DIM_MARKETINGSOURCECODE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@VIEWSQL | nvarchar(max) | IN |
Definition
Copy
CREATE procedure [BBDW].[USP_CREATE_V_DIM_MARKETINGSOURCECODE]
@VIEWSQL nvarchar(max)
as
declare @SQL nvarchar(max);
if exists (select 1 from sys.views where name = 'v_DIM_MARKETINGSOURCECODE')
set @SQL = 'alter view [BBDW].[v_DIM_MARKETINGSOURCECODE] as ' + char(13) + @VIEWSQL;
else
set @SQL = 'create view [BBDW].[v_DIM_MARKETINGSOURCECODE] as ' + char(13) + @VIEWSQL;
execute sp_executesql @SQL;
exec BBDW.[USP_SCHEMA_VIEW_SETVIEWCOMMENT] 'v_DIM_MARKETINGSOURCECODE','The marketing source code dimension breaks out all the marketing source code parts for marketing source codes.';
exec BBDW.[USP_SCHEMA_VIEW_SETCOLUMNCOMMENT] 'MS_Description', 'v_DIM_MARKETINGSOURCECODE','MARKETINGSOURCECODEDIMID','BBDW.[DIM_MARKETINGSOURCECODE].[MARKETINGSOURCECODEDIMID]';
exec BBDW.[USP_SCHEMA_VIEW_SETCOLUMNCOMMENT] 'MS_Description', 'v_DIM_MARKETINGSOURCECODE','SOURCECODELAYOUT','BBDW.[DIM_MARKETINGSOURCECODE].[MARKETINGSOURCECODEDIMID]';
exec BBDW.[USP_SCHEMA_VIEW_SETCOLUMNCOMMENT] 'MS_Description', 'v_DIM_MARKETINGSOURCECODE','SOURCECODE','BBDW.[DIM_MARKETINGSOURCECODE].[MARKETINGSOURCECODEDIMID]';
exec BBDW.[USP_SCHEMA_VIEW_SETCOLUMNCOMMENT] 'MS_Description', 'v_DIM_MARKETINGSOURCECODE','SOURCECODEISACTIVE','BBDW.[DIM_MARKETINGSOURCECODE].[MARKETINGSOURCECODEDIMID]';
exec BBDW.[USP_SCHEMA_VIEW_SETCOLUMNCOMMENT] 'MS_Description', 'v_DIM_MARKETINGSOURCECODE','SITEDIMID','Reference key to the site dimension, derived using [dbo].[DIM_MARKETINGSOURCECODE].[SITEID]';
declare @COMMENT nvarchar(max);
declare COMMENTCURSOR cursor local fast_forward for
select 'BBDW.[USP_SCHEMA_VIEW_SETCOLUMNCOMMENT] ''MS_Description'', ''v_DIM_MARKETINGSOURCECODE'',''' + c.[name] + ''',''BBDW.[DIM_MARKETINGSOURCECODEPART].[PARTCODE] when BBDW.[DIM_MARKETINGSOURCECODEPART].[PARTNAME] = ''''' + c.[name] + ''''''';'
from sys.columns c
inner join sys.views v on c.[object_id] = v.[object_id]
inner join sys.schemas s on v.[schema_id] = s.[schema_id]
where
v.[name] = 'v_DIM_MARKETINGSOURCECODE'
and c.[name] not in ('MARKETINGSOURCECODEDIMID','SOURCECODELAYOUT','SOURCECODE','SOURCECODEISACTIVE', 'SITEDIMID')
and c.[name] not like '% Description'
and s.[name] = 'BBDW'
union all
select 'BBDW.[USP_SCHEMA_VIEW_SETCOLUMNCOMMENT] ''MS_Description'', ''v_DIM_MARKETINGSOURCECODE'',''' + c.[name] + ' Description' + ''',''BBDW.[DIM_MARKETINGSOURCECODEPART].[DESCRIPTION] when BBDW.[DIM_MARKETINGSOURCECODEPART].[PARTNAME] = ''''' + c.[name] + ''''''';'
from sys.columns c
inner join sys.views v on c.[object_id] = v.[object_id]
inner join sys.schemas s on v.[schema_id] = s.[schema_id]
where
v.[name] = 'v_DIM_MARKETINGSOURCECODE'
and c.[name] not in ('MARKETINGSOURCECODEDIMID','SOURCECODELAYOUT','SOURCECODE','SOURCECODEISACTIVE', 'SITEDIMID')
and c.[name] not like '% Description'
and s.[name] = 'BBDW';
open COMMENTCURSOR;
fetch next from COMMENTCURSOR into @COMMENT;
while @@fetch_status = 0
begin
exec sp_executesql @COMMENT;
fetch next from COMMENTCURSOR into @COMMENT;
end
close COMMENTCURSOR;
deallocate COMMENTCURSOR;