[SQL] 더블 도트 테이블 규정
SQL더블 도트 테이블 규정
나는 외부 공급 업체에서 개발 한 새로운 데이터베이스 스키마에서 찾고 있어요. 두 개의 데이터베이스가 있습니다 :
Database1
Database2
그들은 나에게 두 데이터베이스 간의 테이블을 조인 SQL 문을 보냈습니다. 그들은 이중 점 표기법을 사용한 장소가있다. 나는 전에 본 적이 없다. (이 그들이 나를 보내신 문이 아닌) 아래의 SQL 문을 참조하십시오 :
select * from database2..Person
성명은 위의 database1에서 실행됩니다. 왜 두 개의 점을 가지고 있습니까? 나는 점 중 하나를 제거하면 다음 쿼리가 실행되지 않습니다.
나는 약간의 인터넷 검색을 수행하고이 건너 온 한 : http://www.sqlservercentral.com/Forums/Topic585446-338-1.aspx. 이것은 스키마를 참조한다 제안한다. 하나:
해결법
-
==============================
1.이 점 덕분에, 기본 스키마 (DBO)는 쿼리에 대한 선택됩니다.
이 점 덕분에, 기본 스키마 (DBO)는 쿼리에 대한 선택됩니다.
두 개의 데이터베이스가 때 테이블의 전체 경로를 제공해야합니다. 우리는 경우 : Database1 스키마 : DBO, 손님 테이블 dbo.A, 손님 : DATABASE2 스키마 : DBO, 손님 테이블 dbo.B, 손님 : B
우리는 같은 SELECT 문을 작성하는 경우 :
우리는 dbo.B 테이블에서 데이터를 선택하는 우리는 스키마를 지정하고자하는 경우 우리는 다음과 같이 참조 할 필요가
select * from Database2.schemaname.tablename
편집하다: 동료가 지적한 바와 같이, 기본 스키마 그러나이 특정 예에서 dbo가 될 것으로 보인다, 데이터베이스에 변경 될 수 있습니다 :)
-
==============================
2.이것은 데이터베이스 스키마입니다. 테이블의 전체 세 부분으로 된 이름은 다음과 같습니다
이것은 데이터베이스 스키마입니다. 테이블의 전체 세 부분으로 된 이름은 다음과 같습니다
databasename.schemaname.tablename
사용자의 기본 스키마를 들어, 당신은 또한 스키마 이름을 생략 할 수 있습니다 :
databasename..tablename
또한 연결된 서버 이름을 지정할 수 있습니다 :
servername.databasename.schemaname.tablename
당신은 MSDN에 테이블 이름과 같은 식별자를 사용하는 방법에 대한 자세한 내용을보실 수 있습니다
from https://stackoverflow.com/questions/34786049/double-dot-table-qualifier by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] "ORA-01438 :이 항목 허용 지정된 정밀도보다 큰 값"3을 삽입 할 때 (0) | 2020.07.07 |
---|---|
[SQL] MySQL의 제한 범위 (0) | 2020.07.07 |
[SQL] 나는 긴 쿼리의 실행을 중지하면, 롤백합니까? (0) | 2020.07.07 |
[SQL] ORA-00942 : 테이블 또는 뷰 (때 별도의 SQL 작업을하지만, 오라클 함수 내에서 작업을하지 않는) 존재하지 않습니다 (0) | 2020.07.07 |
[SQL] PDO SQL 상태 "00000"하지만 여전히 오류? [복제] (0) | 2020.07.07 |