Как выбрать, обновить и вставить строки из таблицы в себя?
У меня есть экзаменационная таблица со следующими столбцами
CLASS_EXAM_ID ID КЛАССА EXAM_NAME TermNo ВЕС С ДАТЫ НА СВИДАНИЕ EXAM_DATE
где CLASS_EXAM_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
для каждой выбранной строки данных?
1 ответ
Решение
Не понятно как ExamId
поле определено в этой таблице. Если это уникальный идентификатор, лучше всего определить его как поле ключа с автоматическим приращением. В этом случае просто используйте следующую инструкцию INSERT без ExamId
и SQL Server вставит уникальный идентификатор автоматически.
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'