USP_OLAP_GETEXCLUDEDSMARTFIELDS_FORQV

Parameters

Parameter Parameter Type Mode Description
@OLAPDATASOURCEID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_OLAP_GETEXCLUDEDSMARTFIELDS_FORQV (@OLAPDATASOURCEID uniqueidentifier)
as
begin
    set nocount on;

    declare @QVPREFIX nvarchar(355
    set @QVPREFIX = (select 'v_QUERY_' + [MARTKEY] + '_' from dbo.[OLAPDATASOURCE] where [ID] = @OLAPDATASOURCEID)

    select
        qv.[ID],
        qv.[QUERYVIEWSPEC]
    from dbo.[QUERYVIEWCATALOG] qv
    where qv.[OBJECTNAME] in
    (
        select
            @QVPREFIX + tc.[TABLENAME]
        from dbo.[SMARTFIELD] sf
        inner join dbo.[TABLECATALOG] tc on sf.[TABLECATALOGID] = tc.[ID]

        except

        select
            @QVPREFIX + tc.[TABLENAME]    
        from dbo.[SMARTFIELD] sf
        inner join dbo.[SMARTFIELDCATALOG] sc on sf.[SMARTFIELDCATALOGID] = sc.[ID]  
        inner join dbo.[OLAPDATASOURCESMARTFIELD] osf on sf.[ID] = osf.[SMARTFIELDID]
        inner join dbo.[OLAPDATASOURCERECORDTYPE] ort on ort.[RECORDTYPEID] = sc.[RECORDTYPEID]
        inner join dbo.[RECORDTYPE] rt on ort.[RECORDTYPEID] = rt.[ID]
        inner join dbo.[OLAPDATASOURCE] ds on ds.[ID] = @OLAPDATASOURCEID
        inner join dbo.[QUERYVIEWCATALOG] qv on qv.[RECORDTYPEID] = sc.[RECORDTYPEID] and ds.[MARTKEY] = qv.[MARTKEY]
        inner join dbo.[TABLECATALOG] tc on sf.[TABLECATALOGID] = tc.[ID]
    )
    and qv.[ID] in (select [RELATEDQUERYVIEWID] from dbo.[QUERYVIEWRELATIONSHIP] where [OBSOLETE] = 0)

end