1
00:00:00,760 --> 00:00:03,040
Bueno vamos a continuar con la práctica.

2
00:00:03,130 --> 00:00:11,280
Vamos vamos a realizar el lector procedure para insertar turnos entonces lo que vamos a hacer es vamos

3
00:00:11,280 --> 00:00:18,270
a reutilizar esta esta estructura que hicimos para insertar los pacientes.

4
00:00:18,420 --> 00:00:24,630
Vamos a reutilizarla y vamos a crear el estor procedure para insertarlos los turnos que vamos a copiar

5
00:00:25,900 --> 00:00:36,690
este contenido y vamos a crear otro archivo en la carpeta whores y le vamos a colocar alta

6
00:00:41,730 --> 00:00:42,540
turnos

7
00:00:45,170 --> 00:00:47,760
alta turnos.

8
00:00:47,760 --> 00:00:54,780
Aquí está y bueno voy a hacer comando comando be corta para copiar el contenido y lo vamos a guardar

9
00:00:54,780 --> 00:00:55,940
con controles.

10
00:00:56,970 --> 00:01:03,270
Así ya lo tenemos almacenado entonces bien lo que vamos a hacer aquí es distinto porque vamos a tener

11
00:01:03,270 --> 00:01:12,240
que validar un turno existente y antes de insertarlo en la tabla de turnos para asegurarnos que ese

12
00:01:12,240 --> 00:01:21,090
turno no esté o no esté dado de alta dos veces con lo cual eso nos traería problemas en el sistema porque

13
00:01:21,090 --> 00:01:27,150
tendríamos un turno duplicado y tendríamos un problema importante entonces esta validación que vamos

14
00:01:27,150 --> 00:01:34,430
a realizar ahora es muy importante para la integridad de los datos de la base de datos y del sistema

15
00:01:35,130 --> 00:01:42,370
así que en principio lo que vamos a tener que ver es qué parámetros vamos a recibir en el proceso haga

16
00:01:42,420 --> 00:01:46,860
el proceso lo vamos a cambiar el nombre y lo vamos a poner turnos

17
00:01:51,640 --> 00:01:58,220
vamos a ponernos Cingular turno y vamos a ponerle el comando.

18
00:01:58,220 --> 00:02:07,810
La sentencia criadita en la sección siguiente vamos a ver más en detalle la sentencia criadita y todos

19
00:02:07,810 --> 00:02:09,440
los usos posibles.

20
00:02:11,080 --> 00:02:17,980
Entonces vamos a analizar un poquito qué tiene la tabla la tabla turnos vamos a ver acá que se ve un

21
00:02:17,980 --> 00:02:27,970
poco más claramente Select Asterisco from turno y veremos el contenido.

22
00:02:27,970 --> 00:02:35,380
Entonces lo que tenemos que validar nosotros es que no más inserté que no me venga otra inserción otra

23
00:02:35,380 --> 00:02:45,400
petición de inserción de ese turno con la misma fecha y con el mismo Estado porque el campo es todo

24
00:02:45,400 --> 00:02:51,640
lo vamos a utilizar en principio para saber si el turno está esta pendiente es decir que el paciente

25
00:02:51,640 --> 00:02:57,400
todavía no se atendió o si el turno está anulado o si está cancelado.

26
00:02:57,730 --> 00:03:05,060
Entonces a estos turnos a estos números que están acá en principio no le vamos a dar importancia.

27
00:03:05,110 --> 00:03:12,770
Lo que sí vamos a tener en cuenta es que vamos a considerar que el Estado cero es un turno pendiente

28
00:03:13,050 --> 00:03:20,290
y el estado 1 es un turno que ya está que ya está realizado es decir que el paciente ya fue atendido

29
00:03:20,290 --> 00:03:25,910
con el especialista con el doctor y ya se retiró entonces ese turno con el Estado uno ya está

30
00:03:28,540 --> 00:03:37,130
realizado y vamos a contemplar que el Estado 2 es el Estado cancelado entonces tenemos Estado 1.

31
00:03:37,840 --> 00:03:43,200
Vamos a ponerlo como un comentario aquí adentro del lector prosiguió sin ningún problema podemos agregar

32
00:03:43,270 --> 00:03:52,330
los comentarios que quisiéramos aquí no hay ningún problema que no nos va a ayudar a interpretar más

33
00:03:52,330 --> 00:04:10,660
el proceso entonces decimos que Estado igual a cero si es pendiente del Estado igual a uno es realizado

34
00:04:12,910 --> 00:04:28,920
y estado igual a dos es cáncer sellado sí nosotros podemos usar los números que querramos para esto.

35
00:04:29,080 --> 00:04:36,180
Yo uso cero uno dos porque son los que me parecen más acordes para la interpretación pero ustedes pueden

36
00:04:36,180 --> 00:04:38,580
usar los que quieran.

37
00:04:38,580 --> 00:04:45,580
Entonces vamos a analizar la tabla turnos a ver que es lo que tenemos que insertar.

38
00:04:45,630 --> 00:04:52,440
En principio sabemos que tenemos dos tablas no tenemos la tabla de turnos donde tengo esta donde tengo

39
00:04:52,440 --> 00:04:58,320
la fecha y tengo el Estado y una observación y tengo la tabla de turno paciente no vamos a colocarla

40
00:04:59,070 --> 00:05:00,570
aquí abajo.

41
00:05:06,380 --> 00:05:17,420
Turno paciente que ahora está vacía pero en la que me detalla qué paciente se va a atender en ese turno

42
00:05:17,420 --> 00:05:21,380
en en ese horario en esa fecha y con qué especialistas con qué médico.

43
00:05:22,040 --> 00:05:31,850
Así que bueno en principio lo que vamos a necesitar aquí es que esto lo vamos a comentar lo vamos a

44
00:05:31,850 --> 00:05:36,040
borrar y vamos a insertar nuestros propios parámetros.

45
00:05:36,290 --> 00:05:44,450
En principio lo que vamos a recibir va a ser la fecha la fecha de turno y va a ser vamos a definirla

46
00:05:44,450 --> 00:05:47,870
como un formato Borchardt.

47
00:05:48,630 --> 00:06:02,000
Si vamos a colocarle vamos a colocarle 8 porque la fecha el formato fecha estándar de Google que lo

48
00:06:02,000 --> 00:06:10,260
interpreta bien de esa manera no año mes día y después le vamos a enviar la hora del turno así que vamos

49
00:06:10,260 --> 00:06:13,090
a enviar la hora y le vamos a decir que es un.

50
00:06:13,510 --> 00:06:19,310
Esto lo vamos a especificar como Char Txaro 8b porque no es necesario que sea variable vamos a recibir

51
00:06:19,310 --> 00:06:30,440
8 caracteres fijos siempre y ahora también si vamos a recibir la hora con cinco caracteres en este formato

52
00:06:30,440 --> 00:06:43,040
vamos a recibir 12 dos puntos cero cero por ejemplo a la fecha lo vamos a recibir 2019 02 15 de formato

53
00:06:43,100 --> 00:06:54,980
año medía hasta jorobar la coma antes de que nos dé error aquí aquí nosotros podíamos recibir en el

54
00:06:54,980 --> 00:07:05,570
parámetro fecha la fecha junto con la hora es decir podríamos recibirlo de esta manera también así con

55
00:07:05,570 --> 00:07:12,590
un espacio y de esa manera recibimos la hora vamos a hacerlo de esa manera porque es más es más fácil

56
00:07:12,590 --> 00:07:13,890
de interpretar.

57
00:07:14,330 --> 00:07:22,550
Vamos a borrar la hora y lo que vamos a hacer aquí es modificar el tamaño del de la fecha lo vamos a

58
00:07:22,550 --> 00:07:32,360
colocar la cantidad de caracteres correctos que será 8 serían 8 hasta aquí serían 9 10 11 12 13 14 14

59
00:07:32,360 --> 00:07:40,160
caracteres para la fecha 14 caracteres para la fecha entonces lo que vamos a recibir va a ser en este

60
00:07:40,160 --> 00:07:48,170
formato y este formato es el que vamos a vamos a filtrar en la tabla a ver si existe con este formato

61
00:07:48,170 --> 00:07:57,260
nos va a dar exactamente si este turno está utilizado o no. Vamos a ver qué toma necesitamos

62
00:07:59,470 --> 00:08:05,400
necesitamos el Estado el Estado de turno por qué

63
00:08:08,840 --> 00:08:15,040
no en este caso no necesitamos el Estado porque en este caso lo vamos a insertar como pendiente así

64
00:08:15,040 --> 00:08:19,780
que el Estado no no no vamos a necesitar como parámetro lo que sigamos nto como parámetro.

65
00:08:19,780 --> 00:08:31,120
Si va a ser el Heydi del paciente y de paciente qué va a ser de tipo paciente lo podemos definir porque

66
00:08:31,120 --> 00:08:34,960
es un tipo de dato que ya hemos definido anteriormente se guarda el tipo de paciente.

67
00:08:35,110 --> 00:08:37,270
Es un tipo de dato entero.

68
00:08:37,600 --> 00:08:43,570
Yo creo que vamos a revisar en el acta del paciente no sé si lo definimos hagan o no no lo teníamos

69
00:08:43,570 --> 00:08:49,200
como parámetro así que era necesario que lo que lo especificó más sobre el tipo de otro paciente.

70
00:08:49,840 --> 00:08:58,360
Lo que sí el tipo de auto observación es si lo habíamos definido observación.

71
00:08:58,360 --> 00:09:04,900
Vamos a revisar a ver los tipos de dato si es cierto si lo vemos definido

72
00:09:09,180 --> 00:09:20,580
vamos a dar tips de fines de data tips que si habíamos definido observacion así que aquí les colocamos

73
00:09:21,240 --> 00:09:28,530
tips de toda observación vamos a darle F5 y ahí está todo correcto listo ya actualizamos el alta del

74
00:09:28,530 --> 00:09:37,950
paciente cómo corresponderã volvemos al alta de turno vamos vamos a continuar y vamos a recibir como

75
00:09:39,000 --> 00:09:46,320
parámetro la idea del médico y también tenemos un tipo de dato médico ya predefinido que hemos definido

76
00:09:46,320 --> 00:09:48,960
nosotros y que lo colocamos acá médico

77
00:09:54,210 --> 00:10:02,620
y ahí ya estaríamos estaríamos bien con los parámetros bien ahora vamos a hacer vamos a comprobar que

78
00:10:02,620 --> 00:10:06,610
no exista este turno con esa fecha establecida.

79
00:10:06,820 --> 00:10:11,710
Vamos a preguntar si no existe Select Asterisco from

80
00:10:14,820 --> 00:10:17,820
Frontur o guarro.

81
00:10:18,970 --> 00:10:32,070
El campo se llama de fecha fecha turno fecha fecha turno igualdad

82
00:10:36,940 --> 00:10:39,750
arroba fecha que es la fecha es decir no existe.

83
00:10:39,760 --> 00:10:42,350
Voy a insertar ese turno.

84
00:10:42,390 --> 00:10:49,130
Acabamos de hacer un vamos a hacer uso de la cláusula top que no lo hicimos.

85
00:10:49,720 --> 00:10:56,140
No lo utilizamos anteriormente y es una buena una buena práctica para utilizarlo por qué.

86
00:10:56,380 --> 00:11:03,010
Porque yo estoy preguntando si no existe el turno con esta fecha pero para hacer este es su cuadri.

87
00:11:03,010 --> 00:11:11,800
Esta consulta tiene que lo que hace acá es devolver un cero al hacer un asterisco si lo que hace acá

88
00:11:12,250 --> 00:11:16,750
es consultar en toda la tabla si existe esta fecha sí.

89
00:11:17,060 --> 00:11:25,890
Entonces lo que podemos agregar Acá es la cláusula top top 1 le ponemos uno para que me devuelva a uno

90
00:11:26,200 --> 00:11:34,740
y acá le podemos poner por ejemplo y de turno que es el primer campo.

91
00:11:35,010 --> 00:11:43,010
Ahí le colocamos sí de turno entonces para qué va a hacer cuando encuentre cuando encuentre el primer

92
00:11:43,520 --> 00:11:48,260
turno con esa fecha va a hacer un Top 1 y me lo va a devolver inmediatamente.

93
00:11:48,260 --> 00:11:56,540
Entonces esto va a ser mucho más rápido que hacer Select Asterisco va a ser mucho más performance va

94
00:11:56,540 --> 00:12:00,420
a tener mucha mejor respuesta y más rápida que un asterisco.

95
00:12:00,420 --> 00:12:04,340
Entonces esto lo dejamos así y vamos a hacer.

96
00:12:05,090 --> 00:12:19,430
Entonces si no existe el turno vamos a hacer insert en tu turno si vamos a insertar los valores que

97
00:12:19,430 --> 00:12:21,710
correspondan.

98
00:12:21,710 --> 00:12:31,670
Acá vamos a cambiar el mensaje vamos a poner el Segredo correctamente y vamos a especificar los campos

99
00:12:31,880 --> 00:12:39,740
vamos a poner fecha por turno vamos a poner Estado vamos a poner observación.

100
00:12:40,460 --> 00:12:44,860
Fíjense que me estoy olvidando de agregar como parámetro el campo de observación

101
00:12:51,280 --> 00:13:03,110
así lo da de alta la tabla correctamente le ponemos tipo de observación si le ponemos por el vacío y

102
00:13:03,130 --> 00:13:08,290
acabamos especificara entonces vamos a especificar los valores vamos a colocar fecha.

103
00:13:09,010 --> 00:13:10,230
Vamos a colocar Estado.

104
00:13:10,270 --> 00:13:15,400
Habíamos dicho que como se estaba insertando un Estado nuevo el Estado era cero que era pendiente entonces

105
00:13:15,400 --> 00:13:21,430
le bordamos cero y después la variable observación

106
00:13:24,570 --> 00:13:32,320
y ahí vamos a modificar esto que estaba mal también el turno ya existe y ahí estaría el proceso terminado

107
00:13:32,330 --> 00:13:42,770
me faltaría la tabla que sería la tabla de turno paciente que es la que tiene el detalle del paciente

108
00:13:43,900 --> 00:13:44,680
con el turno.
