2013-04-29 3 views
0

검사이라는 데이터베이스와 사용자이라는 테이블이 있습니다.SQL Server R2에서 쿼리 제공 오류가 발생 했습니까?

내가 먼저 다음과 같이 쿼리를하려고이 같은 다음

select * from User ; 

을 ... 그리고 :

이 모두 다음과 같은 오류 던지고있다
select * from Inspection.dbo.User ; 

:

Incorrect syntax near the keyword 'User'

왜이 오류가 발생합니까?

+0

나는 그것을 선택해야합니다. [선택] * [검사]. [dbo]. [사용자] "연결 문자열에 데이터베이스 이름을 부여 할 때 다음과 같은 이유가 무엇입니까? –

+0

이미 해결책을 찾았습니다. 내 대답은 그것에 대한 설명을 제공합니다, 아래 참조! :) – Kjartan

답변

0

user을 사용하므로 테이블 이름 주위에 대괄호를 사용해야합니다.

user은 예약어 (자체적으로 특별한 의미가 있음)이므로 직접 테이블 이름으로 사용할 수 없습니다.

대괄호는 MS Sql에게이 경우 [user]은 사용자 (사용자!)가 정의한 것 (즉, 테이블)의 이름이고 실제 사용자의 작업에서는 키워드가 아니라고 알려줍니다 예 :

CREATE USER slartibartfast (...); 

업데이트 : More info about this here