1 00:00:00,560 --> 00:00:06,599 Otro caso de bucle es un bucle que es más extraño de ver virtualmente 2 00:00:06,599 --> 00:00:07,540 Que son los loop 3 00:00:07,540 --> 00:00:10,740 Los loop es un bucle que da vueltas sin más 4 00:00:10,740 --> 00:00:13,220 No tiene ninguna condición de entrada ni de salida 5 00:00:13,220 --> 00:00:15,220 Simplemente uno entra dentro 6 00:00:15,220 --> 00:00:17,980 Y entonces tenemos dos sentencias que nos permiten 7 00:00:17,980 --> 00:00:19,660 Una salir, que es leave 8 00:00:19,660 --> 00:00:23,960 Y otra que siga dando vueltas o iterando, que es iterate 9 00:00:23,960 --> 00:00:27,559 Bueno, vamos a ver, por ejemplo, con iterate 10 00:00:27,559 --> 00:00:29,239 Cómo funcionamos 11 00:00:29,239 --> 00:00:39,140 Entonces, bueno, pues aquí tenemos un procedimiento. Vamos a darle a iterar, le pasamos un parámetro, en este caso, un valor entero que le pasamos, y empieza el loop. 12 00:00:39,899 --> 00:00:52,380 Vamos, establecemos a p1, lo vamos incrementando, y mientras, o sea, si p1 es menor que 10, entonces volvemos a nuestra etiqueta, iteramos a nuestra etiqueta label1, que es esta de aquí. 13 00:00:52,380 --> 00:00:54,799 Con lo cual seguimos incrementándolo 14 00:00:54,799 --> 00:01:00,000 En el momento que ya no valga, ya sea 10 15 00:01:00,000 --> 00:01:03,179 Pues en este momento nos saldremos del label 1, saldremos de aquí 16 00:01:03,179 --> 00:01:06,500 Y podremos establecer este valor en este caso 17 00:01:06,500 --> 00:01:10,379 Bueno, vamos a hacer este ejemplo algo parecido a lo que aparece en este ejemplo 18 00:01:10,379 --> 00:01:13,079 Vamos a llevárnoslo a nuestro editor 19 00:01:13,079 --> 00:01:17,359 Para ver cómo podría funcionar esto 20 00:01:17,359 --> 00:01:20,439 Vamos a ponerle aquí un nombre que sea 21 00:01:20,439 --> 00:01:22,980 Vamos a quitar esto de aquí, todo esto 22 00:01:22,980 --> 00:01:25,700 Vamos a traer nuestro código 23 00:01:25,700 --> 00:01:27,859 Le vamos a llamar 24 00:01:27,859 --> 00:01:30,920 Vamos a ponerlo bien 25 00:01:30,920 --> 00:01:33,959 Así 26 00:01:33,959 --> 00:01:37,920 Aquí me sobra un end, lógicamente 27 00:01:37,920 --> 00:01:40,620 Y aquí vamos a 28 00:01:40,620 --> 00:01:43,480 Vamos a colocar todo el código 29 00:01:43,480 --> 00:01:45,799 Como hay que colocarlo 30 00:01:45,799 --> 00:01:46,219 ¿De acuerdo? 31 00:01:46,920 --> 00:01:47,859 Esto es un loop 32 00:01:47,859 --> 00:01:49,859 Dentro de este loop vamos 33 00:01:49,859 --> 00:02:00,900 Vamos a meter esta información e incluso también vamos a colocar para que veamos correctamente, vamos a intentar el código para que lo veamos correctamente, ¿vale? 34 00:02:03,060 --> 00:02:18,460 Bien, incluso yo aquí podría decir, en vez de poner esto, SELECT para que veamos perfectamente la salida final de P1, que no puede ser otra distinta a 10, porque mientras que sea menor va a estar iterando, ¿de acuerdo? 35 00:02:18,460 --> 00:02:47,919 Bueno, me llevo todo este código a mi SQL, vamos a copiarlo, vamos a ir a mi SQL, aquí, lo pego, y bueno, ya tengo el código hecho, vamos a llamar a este programita, do iterate, en este caso sí nos pide un parámetro, vamos a darle, por ejemplo, el valor 5, a ver qué nos hace, vamos a darle el valor 5. 36 00:02:48,460 --> 00:02:54,340 Y efectivamente, como no podía ser de otra manera, nos da valor 10 37 00:02:54,340 --> 00:02:59,020 ¿Qué ocurriría si el valor fuera mayor que 10? 38 00:03:00,000 --> 00:03:04,680 Pues que nos saldremos automáticamente de aquí porque no iteraría 39 00:03:04,680 --> 00:03:06,280 ¿De acuerdo? Vamos a probarlo 40 00:03:06,280 --> 00:03:07,740 Vamos a darle el valor 15 41 00:03:07,740 --> 00:03:14,419 Y entonces directamente estableceríamos 15 más 1, 16 42 00:03:14,419 --> 00:03:16,860 Aquí no iteraría 43 00:03:16,860 --> 00:03:20,120 Porque no es menor de 10 44 00:03:20,120 --> 00:03:21,219 Y nos saldríamos 45 00:03:21,219 --> 00:03:23,620 Entonces nos saldríamos con el valor correspondiente 46 00:03:23,620 --> 00:03:25,039 Con el valor 16 47 00:03:25,039 --> 00:03:28,000 Es decir, para esto sirven las instrucciones 48 00:03:28,000 --> 00:03:30,620 Iterate y leave 49 00:03:30,620 --> 00:03:33,120 Iterate para que vuelva otra vez al sitio en que estamos 50 00:03:33,120 --> 00:03:34,219 Y leave para salir