SSMS 2208では、識別子「Lookup」は、あたかも関数であるかのようにホットピンク色になっています(たとえば、「Power」または「Convert」と同じ色)。どうして?
予約語の公式リストにはありません。Webでの検索は、私の質問とは関係のない「ルックアップ」用語が非常に多いため、役に立たないように見えます。
COUNTDISTINCT
、COUNTROWS
とRUNNINGVALUE
同じように動作するはずです。
SSMS 2208では、識別子「Lookup」は、あたかも関数であるかのようにホットピンク色になっています(たとえば、「Power」または「Convert」と同じ色)。どうして?
予約語の公式リストにはありません。Webでの検索は、私の質問とは関係のない「ルックアップ」用語が非常に多いため、役に立たないように見えます。
COUNTDISTINCT
、COUNTROWS
とRUNNINGVALUE
同じように動作するはずです。
回答:
最初は、検索機能を備えた Sybase(もちろんSQL Serverの起源)から来たと思いましたが、これはPowerBuilderに関連しています。そして、SQL Server 2000を確認しましたが、クエリアナライザーでピンク色に点灯しません...
... Sybaseからのレガシーである場合、色分けされた単語のリストにずっと含まれていると予想していました。2000年に文法ファイルが更新され、「誤って」省略された可能性はありますが、私はそれを疑っています。将来の互換性の単語としてT-SQL言語サービスにリストされているか、使用されると予想して言語サービスにスローされたため、色が付いている可能性がはるかに高くなります。(私はこれの公式確認を待っています、そして、私ができることを共有します。)
他の楽しい例(2008年にConnectでこれらのいくつかについて不満を言っていましたが、引用リストにない単語の不適切な強調表示の不満としてクローズされました):
Domains
緑色に点灯Description
青色に点灯Server
青色に点灯Instead
青色に点灯RC2
そしてRC4
青の光アップ当時、私は捉えていなかったLookup
かInstead
の例を、と私はいくつか他の人が同様にあると確信しています。あなたが見ている文書は、最新のものではないかもしれないと推測していますが。INSTEAD
(INSTEAD OFトリガーが導入されたため)少なくともT-SQLの一部であるため、少なくともこのリストに含まれている必要があります。SQL Server 2012用に追加された他のキーワードは少なくとも20あるが、そのリストにも含まれていないに違いない。素早くスキャンがなければならないいくつかの注目すべき除外がありますOFFSET
、IIF
、FORMAT
、など
あなたが面白いと思うかもしれない別の例; INSTEAD
文字列のように、それ自体の行に単語を入れてみてください。これは正常に実行されますが、次のようには見えません。
SELECT 'foo
INSTEAD
';
(これは@JonSeigelによって提出されたバグの礼儀です。)
私はおそらくましManagement Studioでのシンタックスハイライトに対するダース他のバグのカップルに出願されたとコメントし、確かに完璧ではありません。理由を知りたいと思いますが、最終的にはわかりません。これらの多くのConnectアイテムからわかるように、通常、それらは無視/延期するか、あまり説明することなく修正します。
INSTEAD OF UPDATE
。しかし、それは予約語...ではありません