Toto je trochu dlouhý komentář.
SQL Server má alternativu k pohledům, které jsou uživatelsky definované funkce . Konkrétně můžete mít UDF, který dělá všechny následující:
- Chce to parametry.
- Vrátí tabulku.
- Je to vložené jako pohled (to znamená, že „kód“ je v podstatě vložen do dotazu, ale je to trochu složitější).
Považuji je za „parametrizované pohledy“.
Můj návrh je, abyste vytvořili uživatelsky definovanou tabulkovou inline funkci, která přebírá parametry, které byste vložili do WHERE
klauzule.
Základní syntaxe ve vašem případě je:
CREATE FUNCTION ufn_sales_stats (
@compid int,
@target_date date
) RETURNS TABLE
AS
RETURN ( <your parameterized query here> );