2016-08-22 1 views
-1

죄송합니다. 롤 :다른 T-SQL 문에 따라 열을 자동 채우기

나는 비슷한 질문에 주어진 대답을보고 있지만 그들은 여전히 ​​도움이되지 않습니다. 나는 하나의 열을 채우기 자동으로 내 테이블에 스키마를 변경하려면

enter image description here

:

여기 내 경우입니다.

내가 알고있는 것은 업데이트 기능은 값만을위한 것이며 향후에 새 값을 입력 할 때 적용되지 않는다는 것입니다.

내가 가질 수 있도록 Grade에 따라 Gname을 설정할 수 있기를 원합니다. 초보자 나 신입생은 1, 표준은 2, 중급 3- 중급, 전문가는 4 명입니다.

누군가 도와 줄 수 있습니까? 또는 올바른 문서를 향해 나를 지시하십시오.

감사합니다 모두

답변

3

이것은 일반적으로 조회 테이블을 사용하여 수행됩니다.

그러면 테이블을 가질 것이고 Grade Id 1,2,3,4와 이름이있는 Gname 테이블을 추가하십시오. 그런 다음 쿼리에 열을 추가하려면 gname 테이블을 ID 테이블에 조인하면됩니다. 당신이 당신의 테이블을 변경하고 추가 할 수 계산 열을 제정하려는 경우

그러나 SQL 서버 2008도 계산 열 https://msdn.microsoft.com/en-us/library/ms188300(v=sql.105).aspx

있다.

ALTER TABLE TableName 
ADD ComputedColumnName AS (CASE WHEN Grade = 1 THEN 'novice' WHEN Grade = 2 THEN 'standard'.....END) 

는 그러나 일부 프로그래머들이 사용하는 또 다른 방법은 데이터베이스에 어디서나 조회를 넣어 오히려 번역을 처리하기 위해 애플리케이션 계층에서 열거를 사용하지 않는 것입니다.

첫 번째 방법은 데이터베이스의 저장 공간 요구가 적고 gnames의 이름을 바꾸거나 추가 할 때 스키마/테이블 정의 변경이 필요하지 않습니다. 또한 더 많은 데이터 무결성을 이끌어 냈습니다. 그 이유는 열거가 꽤 중요한 전자 상거래 사이트를 엉망으로 만들고 프로그래머가 디버깅을 시도하는 데 많은 어려움을 겪었 기 때문입니다.

+0

@ Herc01 예, 첫 번째 방법을 사용하십시오. 당신은 미래의 고통을 줄이기 위해 데이터베이스의 정규화에 대해 읽어야합니다. –