1
我有兩張表,即註冊和考勤。註冊的主鍵是UnitCode和StudentID。分配的主鍵是UnitCode,StudentID(這兩個鍵都是登記中相同列的外鍵)和AssNo。SQL - 插入與外鍵衝突的陳述
我有一個名爲插入學生出勤情況的存儲過程:
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而不是當我手動輸入值到完全相同的命令。在招生中,UnitCode'SIT101'中註冊了StudentID 1。任何想法出了什麼問題?
在此先感謝。
您忘記了包含表格信息。 「入學的主要關鍵是...」是什麼? – Tony
如何調用過程,以及手動插入時使用了哪些SQL?您是否記得在調用存儲過程之前刪除手動插入的行? –