1 00:00:02,419 --> 00:00:13,339 Buenas tardes profesor, soy Edgar Cabanillas, voy a explicarle como hice el ejercicio 6.5 2 00:00:13,339 --> 00:00:21,780 y como yo lo entendí, primero he creado un procedimiento llamado pCliente y luego he 3 00:00:21,780 --> 00:00:31,780 creado el parámetro pagos.jose que luego voy a pasar toda la entrada del código a 4 00:00:31,780 --> 00:00:42,359 pagos.codio cliente, tanto por ciento TAI, que TAI pues se utiliza para declarar un campo 5 00:00:42,359 --> 00:00:52,240 con el mismo tipo que el de una columna de la tabla específica, y luego he creado un 6 00:00:52,240 --> 00:01:02,140 cursor llamado p y un bajo realizado bueno para saber los pagos realizados 7 00:01:02,140 --> 00:01:08,959 sobre el cliente con en select from pagos 8 00:01:08,959 --> 00:01:16,510 web código cliente igual pagos que le pasó el mismo parámetro como 9 00:01:16,510 --> 00:01:29,230 el parámetro para poder consultar más adelante el código de del cliente y como la práctica decía en 10 00:01:29,230 --> 00:01:40,609 orden cronológico pues lo que he entendido pues entonces he puesto order by pago punto fecha pago 11 00:01:40,609 --> 00:01:46,930 se podría colocar en orden ascendente o descendente no 12 00:01:46,930 --> 00:01:52,810 bueno luego he creado la variable de clientes de cliente y le he pasado a 13 00:01:52,810 --> 00:01:59,810 cliente con rock type que se utiliza para declarar un registro sin ningún 14 00:01:59,810 --> 00:02:07,250 entendido no con los mismos tipos que se encuentran en la tabla 15 00:02:07,250 --> 00:02:12,729 luego he creado otra variable total como en la práctica 6.2 o sea yo me basado 16 00:02:12,729 --> 00:02:22,629 mucho en la práctica 6.2 la verdad pues igual por esto total el tipo de dato integer 17 00:02:24,969 --> 00:02:35,930 lo he inicializado a cero en el begin pues aquí en select según entendido yo es como crear es como 18 00:02:35,930 --> 00:02:47,789 en sql con los con los con los joins no para poder sacar datos de dos tablas pues es esto 19 00:02:47,789 --> 00:02:59,969 no simplemente que le pasas de clientes y luego le pasas el parámetro no pago se es lo que yo 20 00:02:59,969 --> 00:03:07,050 entendido o sea mientras si quiere sacar otra tabla por ejemplo de pedidos y luego de productos 21 00:03:07,050 --> 00:03:21,300 pues sería crear después del for un select también que crearíamos aquí otra otra variable y pues 22 00:03:21,300 --> 00:03:24,460 le pondríamos también row type 23 00:03:24,460 --> 00:03:27,300 y le pasaríamos también 24 00:03:27,300 --> 00:03:38,210 no, perdón 25 00:03:38,210 --> 00:03:41,189 le pasaríamos solo type, no row type 26 00:03:41,189 --> 00:03:44,909 si quisiéramos crear otra variable 27 00:03:44,909 --> 00:03:47,250 de producto, por ejemplo sería aquí 28 00:03:47,250 --> 00:03:50,009 productos tanto por ciento o type 29 00:03:50,009 --> 00:03:58,120 para un campo 30 00:03:58,120 --> 00:04:00,460 del mismo tipo 31 00:04:00,460 --> 00:04:00,620 ¿no? 32 00:04:01,560 --> 00:04:03,960 de columna 33 00:04:03,960 --> 00:04:06,039 y le pasaríamos la gama 34 00:04:06,039 --> 00:04:08,120 gama o 35 00:04:08,120 --> 00:04:08,919 productos 36 00:04:08,919 --> 00:04:11,520 sería después del for ¿no? 37 00:04:11,719 --> 00:04:14,219 y lo haría 38 00:04:14,219 --> 00:04:16,040 con otro for y así, claro 39 00:04:16,040 --> 00:04:18,399 es lo que he entendido, es como los joins 40 00:04:18,399 --> 00:04:18,699 ¿no? 41 00:04:19,759 --> 00:04:21,879 si estoy mal, pues no sé 42 00:04:21,879 --> 00:04:24,079 como yo lo he entendido y como 43 00:04:24,079 --> 00:04:25,060 como haría 44 00:04:25,060 --> 00:04:27,939 como haría más tablas 45 00:04:27,939 --> 00:04:30,540 como crearía más 46 00:04:30,540 --> 00:04:32,560 procedimientos 47 00:04:32,560 --> 00:04:34,139 y funciones 48 00:04:34,139 --> 00:04:36,420 luego pues con un for 49 00:04:36,420 --> 00:04:38,259 pues al igual que 50 00:04:38,259 --> 00:04:40,839 en la práctica 51 00:04:40,839 --> 00:04:41,639 6.2 52 00:04:41,639 --> 00:04:43,800 se podría hacer con un while 53 00:04:43,800 --> 00:04:45,600 con un while también 54 00:04:45,600 --> 00:04:48,180 le pasaría los 55 00:04:48,180 --> 00:04:49,699 los atributos 56 00:04:49,699 --> 00:04:50,879 si es 57 00:04:50,879 --> 00:04:54,980 no recuerdo bien 58 00:04:54,980 --> 00:04:57,160 ah vale 59 00:04:57,160 --> 00:05:06,160 los atributos pues le pasaría si quiero que me devuelva solo una fila pues 60 00:05:06,160 --> 00:05:17,079 abriría el cursor y con fetch con los atributos isOpen o found o rowCount 61 00:05:17,079 --> 00:05:23,139 pues haría no si quisiera que me devuelva solo una fila 62 00:05:23,139 --> 00:05:29,699 creo que lo haría pero si lo hago ahora pues me tardaría un poco la verdad 63 00:05:29,699 --> 00:05:37,899 y nada pues aquí en el for es lo mismo que en la práctica 6.2 64 00:05:37,899 --> 00:05:43,079 y esto si lo he entendido la verdad que con el for pues resulta más fácil todo 65 00:05:43,079 --> 00:05:51,959 la verdad con for es más práctico es más simple porque no necesitas 66 00:05:51,959 --> 00:05:59,819 declarar no sea simplemente confort haces hasta dónde hasta que hasta dónde 67 00:05:59,819 --> 00:06:06,540 quieres que llegue en este caso hasta el cursor creado y 68 00:06:06,540 --> 00:06:13,579 nada es súper fácil confort con wild pues si me cuesta un poco más 69 00:06:13,579 --> 00:06:23,519 y nada pues aquí he sacado el total que el total está aquí creado solamente pues 70 00:06:23,519 --> 00:06:27,180 al igual que en el 6.2 71 00:06:27,800 --> 00:06:34,139 claro he puesto el total en ford para que porque si les pasa otro código de 72 00:06:34,139 --> 00:06:39,839 otro cliente que tengan más pedidos más pagos pues también pues lo sumen cada 73 00:06:39,839 --> 00:06:50,240 vez que que regrese el bucle pues se suma se suma el total con la cantidad si tiene por ejemplo 5 74 00:06:50,240 --> 00:07:02,040 6 o 10 pagos pues se sumaría no esto es de promoción es lo mismo y pues confort la verdad 75 00:07:02,040 --> 00:07:10,800 confort es más fácil todo no luego pues en la excepción a la excepción pues lo 76 00:07:10,800 --> 00:07:19,199 he hecho con no datafarm porque con no datafarm es para que cuando tú pasas 77 00:07:19,199 --> 00:07:25,980 cuando tú usas el procedimiento con un dato que no existe pues te salta 78 00:07:25,980 --> 00:07:28,420 de salta, no data found 79 00:07:28,420 --> 00:07:30,480 que es 80 00:07:30,480 --> 00:07:31,819 pues 81 00:07:31,819 --> 00:07:33,819 para si no existe 82 00:07:33,819 --> 00:07:35,939 ningún dato que le ha pasado dentro 83 00:07:35,939 --> 00:07:36,620 de la tabla 84 00:07:36,620 --> 00:07:37,860 dentro de la tabla 85 00:07:37,860 --> 00:07:39,819 dentro de 86 00:07:39,819 --> 00:07:40,860 de 87 00:07:40,860 --> 00:07:45,259 la columna 88 00:07:45,259 --> 00:07:47,519 si no existe pues 89 00:07:47,519 --> 00:07:48,959 me saltaría 90 00:07:48,959 --> 00:07:50,579 la excepción 91 00:07:50,579 --> 00:07:52,600 y esto pues 92 00:07:52,600 --> 00:07:55,579 si el programador 93 00:07:55,579 --> 00:07:56,199 pues 94 00:07:56,199 --> 00:07:59,500 atrapa el error, pues está bien 95 00:07:59,500 --> 00:08:01,459 ¿sabes? porque así lo 96 00:08:01,459 --> 00:08:03,319 entiendes mejor, porque 97 00:08:03,319 --> 00:08:05,500 sin excepción, pues te salta la tabla 98 00:08:05,500 --> 00:08:07,060 en inglés y con unos números 99 00:08:07,060 --> 00:08:08,939 por ejemplo, con esto ya 100 00:08:08,939 --> 00:08:10,720 te guías un poco 101 00:08:10,720 --> 00:08:13,139 claro, este es el ejemplo 102 00:08:13,139 --> 00:08:14,839 yo me he basado en esto 103 00:08:14,839 --> 00:08:16,939 en la página 261 104 00:08:16,939 --> 00:08:19,279 que está 105 00:08:19,279 --> 00:08:20,220 como recuperar 106 00:08:20,220 --> 00:08:23,300 oh no, no 107 00:08:23,300 --> 00:08:24,079 perdón, perdón 108 00:08:24,079 --> 00:08:37,700 sí, que está en la página 269 109 00:08:37,700 --> 00:08:41,279 y me he basado en eso 110 00:08:41,279 --> 00:08:45,840 y nada, depende de lo que quieras 111 00:08:45,840 --> 00:08:49,679 del procedimiento 112 00:08:49,679 --> 00:08:53,840 del tipo de parámetro y de la 113 00:08:53,840 --> 00:08:57,919 tabla donde deseas la consulta 114 00:08:57,919 --> 00:08:59,919 pondrías 115 00:08:59,919 --> 00:09:03,440 el tipo de 116 00:09:03,440 --> 00:09:05,639 de excepción 117 00:09:05,639 --> 00:09:29,620 y nada profesor 118 00:09:29,620 --> 00:09:31,360 eso es lo que he entendido 119 00:09:31,360 --> 00:09:32,820 de los triggers 120 00:09:32,820 --> 00:09:36,059 pues si he entendido un poco menos 121 00:09:36,059 --> 00:09:36,700 la verdad 122 00:09:36,700 --> 00:09:39,759 voy a ponerme 123 00:09:39,759 --> 00:09:41,860 a hacer más con triggers 124 00:09:41,860 --> 00:09:44,019 porque lo que es 125 00:09:44,019 --> 00:09:46,279 quizá me falta 126 00:09:46,279 --> 00:09:46,919 un poco más 127 00:09:46,919 --> 00:09:49,679 bueno que hice el ejercicio 128 00:09:49,679 --> 00:09:57,720 pero que usted indicó pero igual no no le pille muy bien es más era un trigger muy 129 00:09:57,720 --> 00:10:01,740 simple y la verdad que bueno voy a ponerme con 130 00:10:01,740 --> 00:10:08,759 eso y luego y bueno luego pues aquí pues llamo al procedimiento 131 00:10:08,759 --> 00:10:15,480 por ejemplo con pongo aquí selecciono con f8 y me saldrá pues todo el 132 00:10:15,480 --> 00:10:24,299 datos y la fecha de los datos de pagos y los datos del del cliente por ejemplo 133 00:10:24,299 --> 00:10:32,340 aquí le pongo cliente creo que el cliente no existe porque me salta una 134 00:10:32,340 --> 00:10:40,259 excepción pero bueno voy a 135 00:10:40,259 --> 00:10:56,500 voy a comprobarlo 136 00:11:01,950 --> 00:11:08,909 f8 y no la verdad que no lo tengo 137 00:11:08,909 --> 00:11:14,029 o no sé no sé si no se habrá copiado aunque 138 00:11:15,269 --> 00:11:26,620 aquí puedo ver mejor clientes vale vale vale no el cliente 2 no existe por eso 139 00:11:26,620 --> 00:11:28,600 que le digo, bueno y aquí 140 00:11:28,600 --> 00:11:30,779 hemos comprobado que pues me salta 141 00:11:30,779 --> 00:11:31,740 la 142 00:11:31,740 --> 00:11:34,000 la excepción 143 00:11:34,000 --> 00:11:36,840 no se recuperó ningún dato de la consulta 144 00:11:36,840 --> 00:11:38,159 código de error número 100 145 00:11:38,159 --> 00:11:39,840 no data found 146 00:11:39,840 --> 00:11:42,320 y aquí pues le puse 147 00:11:42,320 --> 00:11:44,100 compré el código del cliente 148 00:11:44,100 --> 00:11:46,700 y nada profesor eso es todo 149 00:11:46,700 --> 00:11:48,700 la verdad 150 00:11:48,700 --> 00:11:50,220 que espero haberme explicado bien 151 00:11:50,220 --> 00:11:52,519 y un saludo profesor