Este es mi procedimiento
Código:
Gracias CREATE PROCEDURE agenda_pacientes( IN pac_nom VARCHAR(100), IN pac_ap VARCHAR(60), IN pac_am VARCHAR(60), IN pac_sex CHAR(1), IN pac_fec VARCHAR(60), IN pac_not VARCHAR(200), IN dir_IDp VARCHAR(200), IN dir_cal VARCHAR(100), IN dir_num INT, IN dir_col VARCHAR(100), IN dir_mud VARCHAR(100), IN dir_edo VARCHAR(100), IN dir_cp INT, IN dir_tel INT, IN mad_nom VARCHAR(100), IN mad_ap VARCHAR(60), IN mad_am VARCHAR(60), IN mad_fec VARCHAR(60), IN mad_pes DECIMAL(10,3), IN mad_est DECIMAL(10,2), IN mad_not VARCHAR(200), IN pad_nom VARCHAR(100), IN pad_ap VARCHAR(60), IN pad_am VARCHAR(60), IN pad_fec VARCHAR(60), IN pad_pes DECIMAL(10,3), IN pad_est DECIMAL(10,2), IN pad_not VARCHAR(200), IN esc_IDd INT, IN esc_gra VARCHAR(5), IN esc_gru VARCHAR(5)) BEGIN IF NOT EXISTS (SELECT * FROM pacientes WHERE ID_paciente=dir_IDp) THEN INSERT INTO pacientes (nombre,ap_paterno,ap_materno,sexo,fecha_nacimiento,nota) values (pac_nom,pac_ap,pac_am,pac_sex,pac_fec,pac_not); INSERT INTO direcciones (ID_paciente,calle,numero,colonia,municipio_delegacion,estado,cod_postal,telefono) VALUES (dir_IDp,dir_cal,dir_num,dir_col,dir_mud,dir_edo,dir_cp,dir_tel); INSERT INTO madres (ID_paciente,nombre,ap_paterno,ap_materno,fecha_nacimiento,peso,estatura,nota) VALUES (dir_IDp,mad_nom,mad_ap,mad_am,mad_fec,mad_pes,mad_est,mad_not); INSERT INTO padres (ID_paciente,nombre,ap_paterno,ap_materno,fecha_nacimiento,peso,estatura,nota) VALUES (dir_IDp,pad_nom,pad_ap,pad_am,pad_fec,pad_pes,pad_est,pad_not); INSERT INTO escuelas(ID_paciente,ID_dir_escuela,grado,grupo) VALUES (dir_IDp,esc_IDd,esc_gra,esc_gru); ELSE UPDATE pacientes SET nombre=pac_nom, ap_paterno=pac_ap, ap_materno=pac_am, sexo=pac_sex, fecha_nacimiento=pac_fec, nota=pac_not WHERE ID_paciente=dir_IDp; UPDATE direcciones SET calle=dir_cal. numero=dir_num, colonia=dir_col,municipio_delegacion=dir_mud, cod_postal=dir_cp,telefono=dir_tel WHERE ID_paciente=dir_IDp; UPDATE madres SET nombre=mad_nom, ap_paterno=mad_ap, ap_materno=mad_am, fecha_nacimiento=mad_fec, peso=mad_pes, estatura=mad_est, nota=mad_not WHERE ID_paciente=dir_IDp; UPDATE padres SET nombre=pad_nom, ap_paterno=pad_ap, ap_materno=pad_am, fecha_nacimiento=pad_fec, peso=pad_pes, estatura=pad_est, nota=pad_not WHERE ID_paciente=dir_IDp; UPDATE escuelas SET ID_dir_escuela=esc_IDd, grado=esc_gra, grupo=esc_gru WHERE ID_paciente=dir_IDp; END IF; END;