sql-server – SQL Server – 如何在Update命令上提示索引?

前端之家收集整理的这篇文章主要介绍了sql-server – SQL Server – 如何在Update命令上提示索引?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试执行以下命令以强制更新使用非聚集索引:
UPDATE Flights 
 SET Airtime=5555678
 WHERE Distance=10000
 OPTION (TABLE HINT(Flights,INDEX (DistanceIndex)))

……这是错误的:

Msg 8724,Level 16,State 1,Line 75
Cannot execute query. Table-valued or OPENROWSET function ‘Flights’ cannot be specified in the TABLE HINT clause.

关于如何在TABLE HINT语句中正确形成语法,我找不到任何明确的建议.

请问任何人都可以告诉我哪里出错了?

@H_502_15@

解决方法

试试以下:
UPDATE F
SET F.Airtime=5555678
FROM Flights F WITH (INDEX (DistanceIndex))
WHERE F.Distance=10000

要么

UPDATE Flights
SET Airtime=5555678
FROM Flights -- this line is added to your initial query
WHERE Distance=10000
OPTION (TABLE HINT(Flights,INDEX (DistanceIndex)))
@H_502_15@ @H_502_15@

猜你在找的MsSQL相关文章