2016-11-30 5 views
1

나는 다음과 같은 열이테이블에서 행을 선택, 업데이트 및 삽입하는 방법은 무엇입니까?

CLASS_EXAM_ID 고유 한 ID입니다
 
CLASS_EXAM_ID 
CLASS_ID 
EXAM_NAME 
TermNo 
WEIGHT 
FROM_DATE 
TO_DATE 
EXAM_DATE 

와 시험 테이블이있다.

나는 용어 ​​하나를 복사하고 그냥이 쿼리가 용어 (2)을 만들고 싶어

:

INSERT INTO Exam (ExamId, ClassId, Term, TermNo, Weight,Fromdate,Todate,ExamDate) 
SELECT 
    'ExamId00001'AS EXPR1, 
    ClassId, 
    'Term 2' AS EXPR2, 
    TermNo, 
    Weight, 
    Fromdate, 
    ToDate, 
    ExamDate 
FROM Exam 
WHERE Term = 'Term 1' 

가 어떻게 데이터의 각 행에 대해 ExamId을 변경하려면 어떻게해야합니까 선택을?

+5

질문을 편집하여 퇴출하십시오. –

+0

'Term'만 ** 변경하려는 경우에는 'INSERT'가 아니라 'UPDATE'가 필요하지만'Term'은 다른 열을 추가하여 테이블을 변경하려는 것처럼 보입니다. isn 원래 '시험'표에 없습니다. 자세한 내용을 제공해야합니다. – scsimon

답변

1

ExamId 필드가이 테이블에 정의 된 방법이 명확하지 않습니다. 고유 ID 인 경우 정의하는 것이 가장 좋은 f}은 auto incremented key field입니다. 이 경우에는 다음의 INSERT 문을 ExamId없이 사용하면 SQL Server는 고유 한 ID를 자동으로 삽입합니다.

INSERT INTO Exam (ClassId, Term, TermNo, Weight,Fromdate,Todate,ExamDate) 
SELECT 
    ClassId, 
    'Term 2' AS EXPR2, 
    TermNo, 
    Weight, 
    Fromdate, 
    ToDate, 
    ExamDate 
FROM Exam 
WHERE Term = 'Term 1'