Я работаю над приложением для записи на прием в медицинском кабинете и хочу добавить события в календарь. Я хочу добавить в таблицу пациентов и в то же время добавить num_patient в таблицу rdv с помощью хранимой процедуры.
num_patient это внешний ключ в таблице rdv.
'rdv' это таблица событий:
CREATE TABLE `rdv` (
`num_RDV` int(30) NOT NULL,
`debut_RDV` datetime(6) NOT NULL,
`fin_RDV` datetime(6) NOT NULL,
`num_m` int(30) DEFAULT NULL,
`num_patient` int(30) NOT NULL
)
Ограничения для таблицы rdv
:
ALTER TABLE `rdv`
ADD CONSTRAINT `patient _rdv` FOREIGN KEY (`num_patient`) REFERENCES `patients` (`num_patient`),
ADD CONSTRAINT `secretaire_rdv` FOREIGN KEY (`num_m`) REFERENCES `secretaire` (`num_m`);
COMMIT;
таблица 'пациента':
CREATE TABLE `patients` (
`num_patient` int(30) NOT NULL,
`nom_complet_pat` varchar(30) NOT NULL,
`cin_patient` varchar(15) DEFAULT NULL,
`dateNaiss_patient` varchar(15) DEFAULT NULL,
`adresse_patient` varchar(30) DEFAULT NULL,
`telephone_patient` int(20) DEFAULT NULL,
`sexe_patient` varchar(20) DEFAULT NULL
)
процедура добавления событий:
CREATE PROCEDURE `insertData`(IN `name` VARCHAR(30), IN `startt` DATETIME(6), IN `endd` DATETIME(6))
BEGIN
INSERT INTO patients(nom_complet_pat) VALUES(name);
INSERT INTO rdv (debut_RDV,fin_RDV,num_patient) VALUES(startt,endd, (SELECT num_patient FROM patients WHERE nom_complet_pat =name));
END
сообщение об ошибке:
Синтаксическая ошибка рядом с 'INSERT INTO rdv (debut_RDV, fin_RDV, num_patient) VALUES (debut, fin, (SELECT num_patient FROM пациенты WHERE nom_complet_pat = имя)) в строке 2