所以我試圖創建一個小的Oracle APEX應用程序,允許人們在診所進行預約。我制定了一個負責預約的程序。該應用程序有一個表格,用於保存關於約會人員和約會表格的數據。該過程檢查用戶是否已經在患者表中,如果他在那裏,它應該只在約會表中添加一行,否則它也將它們添加到患者表中。Oracle SQL,插入語句如果沒有運行
select COUNT(p.name) INTO da FROM patients p where p.cnp = cnp;
IF (da = 0) then
insert into patients values(cnp,name,surname,sex,birth_date,phone_no,email);
end if;
insert into appointments values(appointment_sequence.nextval,cnp,id_medic,date,time);
問題是它永遠不會運行if子句內的插入。即使患者不在數據庫中,也會跳到第二個插入,並且由於尚未創建預約的約會表(cnp)密鑰,因此會生成錯誤。
非常感謝您!它與標識符範圍有關。 – drusk