我有一个包含以下专栏的考试表
CLASS_EXAM_ID CLASS_ID EXAM_NAME TermNo WEIGHT FROM_DATE TO_DATE EXAM_DATE
其中CLASS_EXAM_ID
是唯一ID。
我想要复制第1项,只是制作第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
?
答案 0 :(得分:1)
目前尚不清楚此表中如何定义ExamId
字段。如果它是唯一ID,则最好的方法是定义为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'