加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 08:55:36 所属栏目:MsSql教程 来源:网络整理
导读:我正在尝试执行以下命令以强制更新使用非聚集索引: 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-value
我正在尝试执行以下命令以强制更新使用非聚集索引:
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语句中正确形成语法,我找不到任何明确的建议.

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

解决方法

试试以下:
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)))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读