У меня есть две таблицы, регистрация и посещаемость. Первичные ключи регистрации - UnitCode и StudentID. Первичные ключи присваивания - это UnitCode, StudentID (оба из которых являются внешними ключами в тех же столбцах при регистрации) и AssNo.SQL - Вставить заявление, противоречащее внешнему ключу
У меня есть хранимая процедура Insert Student Участники:
ALTER PROCEDURE dbo.InsertStudentAttendance
@unitCode varchar(4),
@studentID integer,
@date datetime
AS
INSERT INTO Attendance
(UnitCode, StudentID, AttDate, AttStatus)
VALUES(@unitCode, @studentID, @date, 1)
RETURN
Вызова процедуры, как так:
InsertStudentAttendance 'SIT101', 1, '2011-06-04'
Результаты в погрешности:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Attendance_308E3499". The conflict occurred in database "db_test", table "dbo.Enrolment".
Однако, это происходит только тогда, когда я использую STOR а не когда я вручную вводим значения в ту же самую команду. В разделе «Регистрация» имеется идентификатор StudentID 1, зарегистрированный в UnitCode «SIT101». Любые идеи, что происходит не так?
Заранее спасибо.
Вы забыли указать информацию о таблице. «Первичные ключи зачисления ...» что? – Tony
Как вы называете эту процедуру и какой SQL вы использовали при вставке вручную? Вы не забыли удалить строку, вставленную вручную, перед вызовом хранимой процедуры? –