【发布时间】:2011-05-23 21:21:44
【问题描述】:
CREATE TABLE orders
(
order_no INT NOT NULL PRIMARY KEY,
prod_id INT NOT NULL,
quantity INT
);
CREATE VIEW product_stats WITH SCHEMABINDING
AS
SELECT a.prod_id, a.product_name,
(SELECT COUNT(*) FROM dbo.orders WHERE prod_id = a.prod_id) AS total FROM dbo.products a;
CREATE UNIQUE CLUSTERED INDEX [IDX_Order_Details_X]
ON product_stats (prod_id, total)
它抱怨: 视图 'product_stats' 中的列 'total' 不能用于索引或统计信息中,也不能用作分区键,因为它会访问用户或系统数据。
DB 是 ms sql。
【问题讨论】:
-
您可能需要考虑将收到的 17 个答案中的一些标记为“已接受”;这将使访问者更有可能努力回答您的问题。
标签: sql-server view