Sí pero vamos a gritar Aquí abajo vamos a poner insert en tu turno paciente y autocompletar.
Vamos a definir los campos que Campos el de turno y de paciente y de médico y ahora vamos a hacer uso
de una función para poder insertar porque cuál es el problema que tenemos aquí.
Fíjense Miren nosotros tenemos la tabla de turno y turno paciente.
Estas dos tablas vamos a verlas aquí vamos a ampliar un poco esto tenemos nosotros vamos a insertar
un turno en esta tabla de turnos y átono médicamente se va a crear un registro con el valor de turno
es decir que el siguiente registro va a tener y de turno 9 OK y la tabla de turno paciente también debería
tener ese turno 9 porque si nosotros le colocamos otro de turno no lo va a relacionar correctamente.
Entonces primeramente lo que vamos a hacer es vamos a hacer cerciorarnos de que la tabla de turno paciente
no tenga el campo y de turno auto numérico porque eso sí que nos generaría un error.
Vamos a revisar esta Identity especificaciones en no así que esto está correcto.
Vamos a cerrar el diseño de la tabla vamos a minimizar esto un poquito más hacia abajo y vamos a insertar
aquí los datos.
Primeramente lo que vamos a vamos a colocarle vamos a ser un cierre de la tabla y necesitamos insertar
el campo de turno
y de paciente
y de médico
y ahora vamos a insertar los valores vamos a volver a Bauluz si vamos a colocar el valor de turno ahora
vamos a ver bien acá qué valor vamos a colocar.
Vamos a probar el valor de y paciente que es el que viene como parámetro y de paciente y vamos a colocar
el parámetro de médico bien.
Ahora nosotros acá en la variable de turno lo que tenemos que tener es el último y de turno que se insertó
en esta tabla para obtener eso lo que hacemos es lo siguiente Vamos a definir una variable vamos a hacer
un Hitler vamos a declarar vamos a ponerle HAWX y de turno lo vamos a definir y lo vamos a definir como
como Turno de turno lo tenemos definido también como tipo de datos si turno perfecto ahora vamos a hacer
un set arroba HAWX y de turno y qué le vamos a colocar le vamos a colocar el último hoy de turno que
se insertó en este previo inserto y cómo obtenemos ese valor lo que tenemos con esta variable de sistema
que se llama
identity.
Fíjense que en la pintó de color porque es una variable del sistema se coloca con doble arroba y esto
no se obtiene el último el último valor en ser insertado en la tabla en el inserta anterior con con
el valor con el campo Identity on.
Entonces
este valor lo almacenamos acá y este es el valor que vamos a almacenar aquí abajo hacemos con mando
se quemándome y lo pegamos ahí abajo y ahí ya tenemos listo a la llamada así que ahora vamos a vamos
a darle F5 acá nos dio un error porque tenemos cría y
tenemos tenemos esto que nos está molestando vamos a comentarlo ahí lo creó correctamente.
Ahora ya seguidamente le agregamos un halter porque probable que le hagamos modificaciones o no pero
bueno le agregamos un halter y ahora vamos a probar la llamada.
Vamos a probar la llamada Vamos a ver vamos a hacer un exec de alta alta turno y le vamos a pasar los
parámetros le vamos a pasar vamos a pasarle por ejemplo este parámetro
vamos a ponerle a las 8 8 y 15 vamos a pasarle el aire del paciente.
Vamos a pasar el 2 y vamos a pasar el día de médico que 5 por ejemplo y vamos a pasar una observación.
Vamos a ponerle tiene que el paciente el paciente tiene que estar en ayunas por ejemplo.
Vamos a ejecutarlo a ver qué pasa me dice que se insertó un registro que se va abajo y me dio un error
me dio un error a ver qué error me dio.
Me dice que está en conflicto con la Foreing qué turno paciente médico por qué me dice esto porque nosotros
hemos definido Ahrenkilde en el diagrama entidad relación.
Entonces cuando definimos Foreing qué tenemos que insertar tenemos que insertar en la tabla correspondiente
un Heydi médico que exista una RM Acá me está diciendo que el tipo 5 que Leydi el médico no existe en
la tabla centro médico o en la columna en la base de datos centro médico en la Colubi en la tabla médico
Verdon se fue para la izquierda y la Golum de la columna de hoy de médico entonces vamos a revisar vamos
a revisar a ver si el doctor Risco Arrom médico.
Vamos a ver qué tiene y no tenemos registros es por eso que el error.
Entonces vamos a insertar acá rápidamente un registro o un par de registros vamos a insertar vamos a
colocarle de médico uno vamos a colocarle nombre y apellido vamos a colocarle Raúl Fernández
lo insertamos vamos a colocar otro médico el 2 por ejemplo vamos a colocar Pablo
Ramírez ahí ya tenemos dos especialistas así.
Entonces ahora sí acá donde se le mire médico le voy a colocar ahí uno y vamos a asegurarnos de que
el paciente dos que es el que le estoy pasando como parámetro exista también.
Si no vaya a ser que nos dé un error paciente.
Bueno menos mal que nos fijamos.
Vamos a agregar el paciente seis pacientes seis vamos a insertará y a ver qué pasa y me dice que el
turno ya existe a ver por qué me dice que ya existe.
Vamos a revisar la tabla turno a ver.
Acá lo que sucedió fue lo siguiente.
Acá lo que ha sucedido fue que cuando lo ejecuté previamente y me dio el error de Foreing que me ejecutó
esta insert sí me lo lo realizó y después cuando quiso hacer este insert nos arrojó el error de Foreing
aquí basándose en el diagrama anterior relación y nos dio un error.
Por qué pasó esto.
Porque no utilizamos la estructura de transacciones una estructura de transacciones lo que nos permite
ejecutar esto esta sentencia en una transacción y si se ejecuta correctamente.
Confirmar esa transacción es decir hacerla efectiva y si no echarla para atrás en las secciones que
siguen vamos a ver en detalle el uso de transacciones así que por el momento lo que vamos a hacer es
colocar aquí el valor existente que corresponda y vamos vamos a insertarlo de esta manera así que vamos
a vamos a insertarlo porque qué pasó
vamos a revisar la tabla de turnos hoy lo insertó con el turno 10 con los datos que le envié como parámetro
en la tabla turno paciente.
También lo insertó con el Heydi 10 y pase pacientes y el de México 1.
Vamos a hacer otra prueba.
Dijeses se recuerdan antes que no me salió el mensaje con el Paint.
Eso es porque no hemos definido aquí la cláusula hay que inicializar Zet no cont on esto es para que
cuando hagamos el insert nos cuente los registros vieron que aparece un robo affected es para que no
haga esa cuenta y me muestre me mostré correctamente el mensaje así que vamos a insertar otro turno
vamos a guardar el libro y con el no condón vamos a insertar otro para el día 18
no lo vamos a ingresar observacion colocarle nada y vamos a ejecutar y ahí me dice el turno se agregó
correctamente.
Vamos a revisar el turno tenemos el Heydi 11 con el horario que la fecha del horario que hemos especificado
observación nada y en la tabla turno paciente tenemos el 11 con el paciente 6 y el de médico 1 vamos
a ejecutarlo de nuevo a ver si está bien la validación de existencia
y me dicen el turno ya existe.