sql server 2000在视图中使用提示

时间:2010-10-12 15:01:26

标签: sql sql-server sql-server-2000

CREATE VIEW xxxx AS
SELECT order_date, 
       DATEPART(W, order_date) AS dayID, 
       Type 
  FROM dbo.Shipment_Dates 
 WHERE (TIP = 'normal') 
OPTION (FAST 20)

此create语句会在寻线部分导致错误。是否有为视图添加提示的解决方法?

2 个答案:

答案 0 :(得分:4)

您无法在视图中使用查询(OPTION)提示。

视图只是一个扩展的宏。然后查询提示将在扩展中 internal ,因为视图是子查询。子查询中不允许查询提示。

实际上,你有这个:

select
   *
from
   (
   SELECT
     order_date, DATEPART(W, order_date) AS dayID, Type 
   FROM dbo.Shipment_Dates 
   WHERE (TIP = 'normal') 

   option (fast 20)  --not allowed
   ) WasAView

来自MSDN

  

查询提示只能在顶级查询中指定,而不能在子查询中指定。

答案 1 :(得分:3)

不是在视图定义中指定提示,而是在使用视图时指定提示:

select order_date, dayID, Type
    from xxxx
    option (fast 20)