【发布时间】:2019-05-26 21:23:18
【问题描述】:
我正在尝试使用 Microsoft SQL Server Management Studio 14.0.17285.0 创建实体化视图。以下是我最终实现相同目的的脚本。
我的计划是创建一个视图并在其上创建一个索引。
use data_warehouse;
--Set the options to support indexed views.
SET NUMERIC_ROUNDABORT OFF;
SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT,
QUOTED_IDENTIFIER, ANSI_NULLS ON;
GO
CREATE VIEW products_yearly_v2
WITH SCHEMABINDING
AS
SELECT
p.product_id AS product_id,
p.product_description AS product_name,
d.order_year AS order_year,
SUM(s.order_total) AS sal_by_dept
FROM
[data_warehouse].[dbo].orders_fact AS s
INNER JOIN
[data_warehouse].[dbo].time_dimension AS d ON s.time_id = d.order_date
INNER JOIN
[data_warehouse].[dbo].product_dimension AS p ON s.product_id = p.product_id
GROUP BY
d.order_year, p.product_id, p.product_description;
CREATE UNIQUE CLUSTERED INDEX IDX_V1
ON products_yearly_v1 (order_year, product_id);
我收到此错误:
消息 156,级别 15,状态 1,程序 products_yearly_v2,第 12 行 [批处理开始第 7 行]
关键字“CREATE”附近的语法不正确
更新 添加了 COUNT_BIG(*) 以创建索引。
SELECT COUNT_BIG(*) as count_big, p.product_id as product_id, d.order_year as order_year, sum(s.order_total) AS sal_by_dept ....
从 GROUP BY
中删除了 product_descriptionGROUP BY d.order_year,p.product_id;
已阅读,
USE data_warehouse
【问题讨论】:
标签: sql-server tsql view materialized-views