1 00:00:01,970 --> 00:00:09,470 Buenos días, esto es una actividad narrada de la práctica 6.5 del tema 6 de gestión de bases de datos. 2 00:00:10,070 --> 00:00:19,769 En esta práctica debemos crear un procedimiento al cual le pasaremos un código de cliente 3 00:00:19,769 --> 00:00:29,289 y desde ese dato sacaremos también el nombre, la ciudad y el país del cliente y los pagos que ha realizado. 4 00:00:29,289 --> 00:00:41,539 Empezaremos usando un procedimiento de la actividad de la práctica 6.2. 5 00:00:41,539 --> 00:00:46,500 Lo usaremos de marco de referencia y para tener que escribir menos. 6 00:00:47,100 --> 00:00:51,700 Empezaremos creando el procedimiento y en este caso lo llamaremos 7 00:00:51,700 --> 00:00:56,539 Pagos barra baja cliente. 8 00:00:56,539 --> 00:01:10,469 cambiaremos el dato que nos da por número de cliente y aquí podríamos usar clientes o pagos 9 00:01:10,469 --> 00:01:27,400 para saber el tipo de dato es. En este caso usaremos pago, son menos letras, cliente. 10 00:01:27,400 --> 00:01:31,859 vale, a continuación crearemos un cursor 11 00:01:31,859 --> 00:01:35,420 en este caso le cambiaremos el nombre 12 00:01:35,420 --> 00:01:45,370 es crear un cursor que nos coja 13 00:01:45,370 --> 00:01:48,189 todas las filas de la tabla pagos 14 00:01:48,189 --> 00:01:56,209 donde el código de cliente coincida con el 15 00:01:56,209 --> 00:02:03,010 número que le hemos dado, además los ordenaremos 16 00:02:03,010 --> 00:02:17,729 por la fecha de pago, siguientemente 17 00:02:17,729 --> 00:02:22,110 hay dos opciones. Podemos bien crear 18 00:02:22,110 --> 00:02:26,150 variables para almacenar 19 00:02:26,150 --> 00:02:31,389 los tres datos extra que necesitamos 20 00:02:31,389 --> 00:02:35,050 del cliente, o podemos crear una fila 21 00:02:35,050 --> 00:02:38,770 de cliente siguiendo el tipo de esa fila. 22 00:02:39,990 --> 00:02:43,169 Yo prefiero hacerlo de este primer modo, 23 00:02:43,930 --> 00:02:47,330 pero es posible hacerlo del segundo. Así que estas dos 24 00:02:47,330 --> 00:02:49,569 en vez de modificarlas las elimino 25 00:02:49,569 --> 00:02:51,969 también necesitamos 26 00:02:51,969 --> 00:02:53,030 un total 27 00:02:53,030 --> 00:02:55,150 para el total de los pagos 28 00:02:55,150 --> 00:02:57,710 aquí si hubiéramos 29 00:02:57,710 --> 00:02:59,669 usado el segundo método 30 00:02:59,669 --> 00:03:01,710 cambiaríamos esos dos por 31 00:03:01,710 --> 00:03:03,490 nuestras tres 32 00:03:03,490 --> 00:03:04,490 variables 33 00:03:04,490 --> 00:03:07,729 y usaríamos, bueno, no 34 00:03:07,729 --> 00:03:09,810 cogeríamos los tres campos de la 35 00:03:09,810 --> 00:03:11,789 tabla clientes y los meteríamos 36 00:03:11,789 --> 00:03:13,569 en tres variables y luego 37 00:03:13,569 --> 00:03:15,909 las tres variables irían aquí 38 00:03:15,909 --> 00:03:18,370 junto al número de cliente 39 00:03:18,370 --> 00:03:20,750 pero como vamos a usar la fila 40 00:03:20,750 --> 00:03:22,490 simplemente lo eliminamos 41 00:03:22,490 --> 00:03:29,069 aquí se ve que cogemos 42 00:03:29,069 --> 00:03:30,689 desde la tabla cliente 43 00:03:30,689 --> 00:03:32,610 todo lo que coincida 44 00:03:32,610 --> 00:03:34,370 con el número de cliente 45 00:03:34,370 --> 00:03:36,669 lo metemos a una fila 46 00:03:36,669 --> 00:03:38,710 ¿vale? y a continuación 47 00:03:38,710 --> 00:03:41,960 vale 48 00:03:41,960 --> 00:03:51,139 ¿ves? 49 00:03:51,960 --> 00:03:53,539 para hacerlo diferente 50 00:03:53,539 --> 00:03:55,360 si tuviésemos variables 51 00:03:55,360 --> 00:03:56,819 serían las cuatro de este tipo 52 00:03:56,819 --> 00:03:58,240 usando las otras tres variables 53 00:03:58,240 --> 00:04:27,019 y como tenemos esta fila, las otras tres son como esta fila, estas dos nos sobran, entonces sería código de cliente, nombre de cliente, ciudad del cliente y el país del cliente, vale, 54 00:04:27,019 --> 00:04:55,180 A continuación, usaremos la cabecera que nos piden en el ejercicio, que es id barra transacción, fecha, forma de pago y la cantidad. 55 00:04:58,329 --> 00:05:11,470 Además, nos piden que pongamos un separador para la tabla, que esto se hace de la siguiente manera. 56 00:05:11,649 --> 00:05:27,639 cogemos aquí, y ahora sin necesidad de preocuparnos, usando como referencia la cabecera, ya tenemos nuestro separador. 57 00:05:29,459 --> 00:05:32,019 Y ahora eso es cuestión de copiarlo y pegarlo. 58 00:05:32,379 --> 00:05:45,319 Vale, para sacar cada una de las filas que hemos metido en el cursor, haremos un bucle, 59 00:05:45,319 --> 00:05:52,199 en el cual al total le sumaremos 60 00:05:52,199 --> 00:06:00,110 la cantidad que hay en esa instancia del bucle 61 00:06:00,110 --> 00:06:03,269 del cursor, perdón, esa fila del cursor 62 00:06:03,269 --> 00:06:07,490 y además escribiremos 63 00:06:07,490 --> 00:06:12,980 la identidad de la transacción 64 00:06:12,980 --> 00:06:18,629 la fecha de pago 65 00:06:18,629 --> 00:06:25,430 la forma de pago 66 00:06:25,430 --> 00:06:29,399 y la cantidad 67 00:06:29,399 --> 00:06:45,709 ya está 68 00:06:45,709 --> 00:06:49,029 al final del bucle tendremos el total 69 00:06:49,029 --> 00:06:51,810 que lo usaremos para 70 00:06:51,810 --> 00:06:56,069 poner la línea con el total 71 00:06:56,069 --> 00:07:07,379 estas dos nos sobran 72 00:07:07,379 --> 00:07:11,860 y ya llegamos al final que es control de errores 73 00:07:11,860 --> 00:07:14,839 que cuando haya algún error 74 00:07:14,839 --> 00:07:19,019 nos saldrá un mensaje con el código de error 75 00:07:19,019 --> 00:07:21,879 y que es ese error y una descripción 76 00:07:21,879 --> 00:07:25,879 ahora esto lo ejecutamos 77 00:07:25,879 --> 00:07:35,310 vale, ves, nos faltan 78 00:07:35,310 --> 00:07:37,029 los puntos y pomas 79 00:07:37,029 --> 00:07:46,339 vale 80 00:07:46,339 --> 00:07:48,160 en el cliente 81 00:07:48,160 --> 00:07:48,680 en el cliente 82 00:07:48,680 --> 00:07:51,019 vamos a probar ahora, vale, sí 83 00:07:51,019 --> 00:07:54,220 y está aquí abajo ya 84 00:07:54,220 --> 00:07:56,019 y por ejemplo 85 00:07:56,019 --> 00:07:57,540 si tuviésemos algún error 86 00:07:57,540 --> 00:08:00,459 que quisiese decir que no se podía usar 87 00:08:00,459 --> 00:08:02,019 por ejemplo 88 00:08:02,019 --> 00:08:02,740 esto de aquí 89 00:08:02,740 --> 00:08:05,879 nos saldrá esta x aquí 90 00:08:05,879 --> 00:08:08,060 pequeñita y podemos 91 00:08:08,060 --> 00:08:19,500 saber así que hay un error. A continuación, abriré estas tres consultas que tengo ya 92 00:08:19,500 --> 00:08:26,879 puestas, que son dos normales y una que nos va a dar un error. Las intentamos hacer y 93 00:08:26,879 --> 00:08:41,519 ahora en el output es la primera, la segunda y el error. Y así ya está. Ya hemos terminado 94 00:08:41,519 --> 00:08:43,159 con esta actividad.