SQL Server에서 "Lookup"이 함수 예약어로 표시되는 이유는 무엇입니까?


14

SSMS 2208에서 식별자 "Lookup"은 마치 기능인 것처럼 핫 핑크색으로 표시됩니다 (예 : "Power"또는 "Convert"와 같은 색상). 왜?

예약어공식 목록 에서 찾을 수 없습니다 . 웹에서 검색하면 내 질문과 관련이없는 수많은 "조회"용어가 있기 때문에 쓸모가없는 것 같습니다.


1
내가 생각할 수있는 것은 SSRS Lookup () 함수 ( msdn.microsoft.com/en-us/library/ee210531.aspx )입니다. 좋은 질문. +1
Thomas Stringer

좋은 발견을 @Shark,하지만 난 다른 기능이 유사한 규칙이 따르도록 기대, 그러나 그들은 예를 들어 SSMS에서 강조하지 않는 COUNTDISTINCT, COUNTROWS그리고 RUNNINGVALUE같은 방식으로 작동합니다.
Aaron Bertrand

답변:


14

처음 에는 조회 기능 이있는 Sybase (SQL Server가 시작된 곳)에서 온 것으로 생각 했지만 PowerBuilder 관련입니다. 그런 다음 SQL Server 2000을 확인했는데 Query Analyzer에서 분홍색으로 표시되지 않습니다 ...

여기에 이미지 설명을 입력하십시오

... Sybase의 레거시라면 컬러 코드 단어 목록에있을 것으로 예상했을 것입니다. 문법 파일이 업데이트되어 2000 년에 "실수로"생략되었을 가능성이 있지만 의심합니다. T-SQL 언어 서비스에 향후 호환성 단어로 표시되거나 사용을 예상하여 언어 서비스에 던져 졌기 때문에 색상이 더 많이있을 수 있습니다. (공식적인 확인을 기다리고 있으며 가능한 내용을 알려 드리겠습니다.)

다른 재미있는 예 ( 2008 년 Connect에서이 중 몇 가지에 대해 불평 했지만 수정하지 않음)는 인용 한 목록에없는 단어를 부적절하게 강조 표시 한 것입니다.

  • Domains 녹색으로 점등
  • Description 파란색으로 점등
  • Server 파란색으로 점등
  • Instead 파란색으로 점등
  • RC2RC4파란색 빛까지

여기에 이미지 설명을 입력하십시오

당시에는 Lookup또는 Instead예제를 캡처하지 않았으며 다른 것도 있습니다. 보고있는 문서가 최신 버전이 아니라고 생각합니다. INSTEADINSTEAD OF 트리거가 도입 된 이후 T-SQL의 일부이므로 최소한 목록에 있어야합니다. SQL Server 2012 용으로 추가되었지만 그 목록에는없는 다른 키워드가 적어도 20 개 있습니다. 신속하게 스캔이 있어야 주목할만한 예외가있다 : OFFSET, IIF, FORMAT, 등

흥미로운 또 다른 예는 다음과 같습니다. INSTEAD문자열 과 같은 단어 를 한 줄에 넣으십시오 . 이것은 잘 실행되지만 다음과 같이 보이지 않습니다.

SELECT 'foo 
INSTEAD
';

여기에 이미지 설명을 입력하십시오

(이것은 @JonSeigel에 의해 제기 된 버그를 제공 합니다.)

아마도 Management Studio의 구문 강조 표시에 대해 수십 가지 버그에 대해 제출하고 의견을 말했을 것입니다 . 확실히 완벽하지 않습니다. 이유 를 알고 싶지만 궁극적으로 알지 못할 수도 있습니다. 이러한 많은 Connect 항목에서 볼 수 있듯이 일반적으로 무시하거나 지연 시키거나 많은 설명없이 수정합니다.


2
나는 그것들을 잊었다! 얼마 전 Connect 제출을 실행했습니다.
ErikE

그건 그렇고, "INSTEAD"종류는 트리거가 될 수 있기 때문에 의미가 있습니다 INSTEAD OF UPDATE. 그러나 그것은 예약어가 아닙니다 ...
ErikE

이 때문에 @ErikE 나는 "대신"를 강조 하다 그냥 목록 (다른이가 최신 심하게 것을 증거 분쇄기)에 키워드.
Aaron Bertrand

"사이트"가 파란색으로 강조 표시되고 예약 키워드 목록에 없습니다
Simon D
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.