2010-06-01 4 views
5

가능한 중복 :
Does SQL Server 2005 have an equivalent to MySql’s ENUM data type?SQL Server 2005에서 ENUM을 정의하는 방법은 무엇입니까?

는 SQL Server 2005의 ENUM을 정의 할 수있는 방법이 있습니까?

프로 시저 및 함수에서 사용해야하는 고정 값이 있습니다.

+0

http://stackoverflow.com/questions/262802/does-sql-server-2005-have-an-equivalent-to-mysqls-enum-data-type – IsmailS

+0

링크 Ismail에 감사드립니다. 투표하기로 결정했다. –

+0

저장된 값을 stored-procs에 저장하는 방법에 대해 이야기하고 있습니까? "declare @constName varchar (1000)"을 사용할 수 있습니까? – VoodooChild

답변

5

하나 이상의 스칼라 UDF를 사용합니까? 일정 별

하나 :

  • dbo.CONST_Bicycle 반환 한
  • dbo.CONST_Car 수익률이

열거 당 하나 :

  • dbo.CONST_Types('Bicycle') 반환 한
  • dbo.CONST_Types('Car') 개 반환이

또는 ID와 표를 사용하여 이름 열거 당

를 사용하여 클라이언트 측 열거 형이 일치하는 (아마도 테이블 솔루션에 대한 유효성 검사)

없는 빠른있다 또는 (사용자 의견에 따라). NET 에서처럼 이렇게 할 깨끗한 방법.

+0

나는 하나의 스칼라 UDF와 이것과 관련된 하나의 타입을 만들어야한다는 것을 의미한다. 이런 식으로 어디에서 조건을 사용할 수 있습니까? – KuldipMCA

1

LuVehicle이라는 이름의 조회 테이블을 ID 및 이름 열이 필요할 수 있습니다. 당신이 당신의 데이터베이스 테이블에 필요한 곳 ​​

1,Bicycle 
2,Car 
3,MotorCycle 

는 그런 다음 ID 열의 foriegn 키를 가질 수처럼

값이 보일 수 있습니다.

값의 정확한 이름을 검색하려면 LuVehicle 테이블과 함께 간단한 내부 조인을 사용할 수 있습니다. 이 같은 것

select empname, vehicleId, LuVehicle.Name from employees, LuVehicle 
where employees.vehicleId = LuVehicle.Id 
0

SQL Server는 사용자 정의 데이터 형식을 지원합니다. CREATE TYPE (Transact-SQL)으로 무엇인가 할 수 있습니다. 하지만 사용자 정의 데이터 유형을 통해 가능하고 장단점을 알지 못하더라도이를 알지 못합니다. 다른 누군가가 더 많은 빛을 발할 수 있습니다.

관련 문제