2010-08-15 6 views
0

테이블 이름에서 데이터베이스 이름을 제거하는 방법을 알려주실 수 있습니까?SQL Server 2008 테이블 이름 문제

나는 데이터베이스 이름이 자동으로 이름

에 접두사 테이블을 만들 때마다이 내 테이블 정의

Create table Links 
(
Id Int IDEntity(1,1) , 
DisplayName Varchar(250) NOT NULL, 
Href Varchar(250) NOT NULL, 
Tooltip Varchar(550) NOT NULL, 
IsVisible smallInt, 
[Index] int, 
IsEditable smallInt, 
IsOnMenu smallInt 
) 

감사

+0

SQL Server의 테이블은 ** 항상 ** 스키마 **의 일부입니다 - 일반적으로 'dbo.' - 그리고 그것은 좋은 것입니다, 당신은 테이블에서 그것을 "제거"할 수 없습니다. –

+1

실제로 데이터베이스 개체에 ** dbo.' 스키마 접두사 **를 항상 추가하는 것은 좋은 일입니다. 쿼리가 속도가 빨라지고 일반적으로 더 명확하고 명확 해집니다. –

+3

필드 또는 테이블 이름에 예약어 사용을 중지하십시오. 색인은 필드의 끔찍한 이름입니다. ID 필드의 이름으로 ID를 사용하면 일반적으로보고가 훨씬 어려워집니다. tablename ID를 사용하면 수명이 연장됩니다. – HLGEM

답변

1

데이터베이스 이름 또는 schema 이름은? 이 일을하면 어떻게됩니까?

Create table BlaTest(id int) 

Insert BlaTest values(1) 

select * from BlaTest 

무엇이 보이나요? 스크립트 위의 실행 및 사후 결과

select * 
from INFORMATION_SCHEMA.TABLES 
where TABLE_NAME = 'BlaTest' 

또한이를 실행하거나 테이블에 대한

select * 
from INFORMATION_SCHEMA.TABLES 
where TABLE_NAME = 'Links' 

당신은 schema..a 테이블이 항상 제거 할 수 없습니다 스키마의 일부 ... 이름을 사용할 필요가 없으며 쿼리를 실행하는 사용자의 기본 스키마로 가정합니다. 그러나 스키마를 포함하면 SQL Server는 매번 스키마를 조회 할 필요가 없으며 약간의 성능 이점을 얻을 수 있습니다.

+0

당신은 내가 그 스키마 이름을 생각할 권리가 있다고 생각하지만 어떻게 그것을 iremove합니까? nk th thi – GigaPr

+0

당신은 그것을 제거 할 수 없습니다 .. 테이블은 항상 스키마의 일부입니다 ... 당신은 이름을 사용할 필요가 없습니다 다음 쿼리를 실행하는 사용자에 대한 기본 스키마를 가정합니다 – SQLMenace

+2

@ GigaPr : 왜 그것을 심지어 제거 하시겠습니까 ?? 이 작업은 수행 할 수 없습니다. 테이블은 ** 항상 ** 스키마의 일부입니다. 스키마 외부에서 테이블을 "부동"시킬 수 없습니다. –