00:00:00
Bueno ahora ya saliendo un poco no del
00:00:02
todo pero saliendo un poco del tema de
00:00:04
las consultas en profundidad les voy a
00:00:07
enseñar dos temas más que es el de
00:00:10
Procedimientos almacenados y el de
00:00:12
cursores un procedimiento almacenado que
00:00:14
también pueden encontrar internet como
00:00:16
SP no es más que una secuencia ordenada
00:00:18
de instrucciones sql que pueden recibir
00:00:21
y proporcionar parámetros provistos por
00:00:23
el usuario es decir guardan un conjunto
00:00:26
de un segmento de código
00:00:28
distribuciones a las cual uno podemos
00:00:31
pasar con parámetros y estas después se
00:00:34
mantienen para el resto de para el resto
00:00:37
en el servidor de base datos es decir la
00:00:39
pueden utilizar continuamente otros
00:00:41
programas y no hay que escribir de nuevo
00:00:43
las mismas instrucciones un montón de
00:00:44
veces y por eso yo había dicho en video
00:00:47
interior que por ejemplo guarden Cómo
00:00:49
insertar clientes se acuerdan que el de
00:00:52
bam B tran
00:00:54
incinto comit y después venía el Catch
00:00:58
bueno
00:01:01
se acuerdan que en un principio ustedes
00:01:02
para insertar cuando quer insertar
00:01:04
muchos clientes que tenían que agarrar
00:01:05
insertar Cliente por cliente y eso er un
00:01:08
trabajo recontra represado bueno a
00:01:11
través de los procedimientos almacenados
00:01:13
vos podés guardar este segmento de
00:01:16
código o sea de
00:01:19
inserción solo haciendo un cambio acá en
00:01:21
el momento valores Les explico por qué y
00:01:24
solamente ejecutar este pequeña línea
00:01:28
con los nuevos datos que ente podría ser
00:01:30
un programa est dentro de un bucle Y
00:01:32
esto es mucho más rápido que escribir
00:01:33
toda esta sentencia un montón de veces
00:01:36
por cada cliente que queramos ingresar
00:01:39
entonces un procedimiento almacenado
00:01:41
empieza como la creación de una tabla
00:01:43
qué queremos crear un procedimiento
00:01:44
entonces create procedure luego el
00:01:47
nombre del procedimiento almacen o sea
00:01:49
el nombre con el que va a ser utilizado
00:01:50
para llamar a este procedimiento Al
00:01:52
momento de ejecutarse Luego si se van a
00:01:55
aceptar parámetros como cualquier esto
00:01:57
es como cualquier función no de
00:01:59
programación uno sabe programar en Java
00:02:01
siempre es el tipo de datos bueno acá
00:02:04
men un tipo de dato que retor si es
00:02:06
público estático es create un
00:02:08
procedimiento almacenado el nombre y si
00:02:11
tiene parámetros a recibir en base de
00:02:15
datos una variable se indica a través de
00:02:17
el arroba
00:02:19
y acá van a los nombres los parámetros
00:02:22
recibir con su tipo de datos no hace
00:02:25
falta este gu bajo esto yo lo pongo para
00:02:27
diferenciar de lo que es el nombre de la
00:02:29
variable del procedimiento y los campos
00:02:32
de nuestra tabla pero en realidad el
00:02:33
nombre es cualquiera ni siquiera tiene
00:02:36
ni siquiera tiene que tener una relación
00:02:37
con el nombre después de lo que va a
00:02:40
hacer entonces acá un ejemplo hay una
00:02:42
variable dni o se aceptar un parámetro
00:02:44
que se va abordado en una variable dni
00:02:46
del tipo entero otra que es teléfono de
00:02:49
tipo barch y así hasta tipo
00:02:52
documento después de que se hace una
00:02:54
declaración de los parámetros viene el
00:02:57
As que dice Bueno este procedimiento
00:02:59
alado va a funcionar como y acá la
00:03:02
sentencia después de lo que quiera hacer
00:03:04
no en este caso va a ser para insertar
00:03:06
cliente para Agar cliente entonces
00:03:08
inicia un control de semento de código
00:03:11
crítico inicia una transacción para la
00:03:13
inserción de código dentro de clientes
00:03:15
en los campos de apellido nombre tipo
00:03:17
comento teléfono y dirección con los
00:03:19
valores y acá le tenemos que pasar el
00:03:22
mismo orden que corresponda los
00:03:24
parámetros o sea dni en este caso
00:03:26
corresponde dni después viene apellido y
00:03:29
acá en el parámetro en orden no sea
00:03:31
apellido acá tenemos que poner apellido
00:03:33
y nombre entienden y así según
00:03:37
corresponda Bueno terminamos los valores
00:03:39
si sale todo correcto Cómo se llama
00:03:43
realizalo que que lo que lo guarde que
00:03:46
lo confirme que lo que que lo guarde en
00:03:48
la base de datos si no termina el try y
00:03:53
inicia el Catch que se acuerdan que era
00:03:55
para cuando dentro del semento este
00:03:57
crítico que podía surgir un error
00:03:59
saltaba Catch imprimí error al ingresar
00:04:02
los datos para el cliente nuevo
00:04:05
específicamente si el error de mensaje
00:04:07
de que te va a devolver mot base de
00:04:09
datos que est AC la función rollback
00:04:12
para que borre esa instalación de datos
00:04:13
temporal que inició con la transacción y
00:04:15
que no guarde la base de datos y termina
00:04:18
el
00:04:19
Catch hasta acá tienen su primer
00:04:21
procedimientos almacenados que les sirve
00:04:23
para insertar clientes Cómo ejecutas un
00:04:26
procedimiento almacenado a través de la
00:04:28
palabra palabra clave que es ejecutar el
00:04:30
nombre del procedimiento almacenado
00:04:32
ejecutar Y si los parámetros separados
00:04:35
por coma según corresponde entre
00:04:37
comillas no si son caracteres o enteros
00:04:39
o otro tipo de dato en como se tiene que
00:04:43
insertar configur m y eh Nada más acá no
00:04:48
va entre paréntesis como sera
00:04:49
programación con esta simple línea lo
00:04:51
que hace es ejecutar el procedimiento
00:04:53
ahora bien acá en este procedimiento
00:04:56
almacenado se pusieron parámetros un
00:04:57
procedimiento almacenado no tiene por
00:04:59
qué obligatoriamente aceptar parámetros
00:05:01
para entrar sino que simplemente pod
00:05:03
poner al cliente si no hubiese ningún
00:05:05
parámetro que insertar y todo esto iría
00:05:07
no va ahora vamos a un ejemplo más
00:05:10
adelante Así que una vez que tienen
00:05:14
ustedes creado un procedimiento
00:05:15
almacenado para alterar un procedimiento
00:05:17
almacenado solamente tien que cambiar
00:05:18
esta palabra por alter o sea ustedes se
00:05:20
equivocan por ejemplo acá por hertel el
00:05:23
tipo barar 15 porque los teléfonos
00:05:25
cuando qu la tenían 15 y acá pusieron 10
00:05:28
sea estaban disminuyendo la cantidad
00:05:30
números de letras que va a aceptar Si
00:05:32
nuestra base de datos puede aceptar más
00:05:34
solo tiene que cambiar acá alter y así
00:05:37
bueno pued alterar cualquier parte del
00:05:38
procedimiento
00:05:41
almacenado bueno acá hay un hice otro
00:05:45
procedimiento armon de ejemplo que lo
00:05:47
que hace es ver client no y les pongo un
00:05:50
temita más así vamos completando un poco
00:05:52
nuestros
00:05:54
conocimientos acá este procedimiento ya
00:05:56
lo tenía creado y para mostrarles algo
00:05:59
que se ifi no O sea altero alterar el
00:06:02
procedimiento almacenado de tal nombre
00:06:05
tiene este procedimiento alterado acepta
00:06:06
el parámetro apido y nombre del tipo
00:06:08
marchar y va a funcionar como inicio el
00:06:11
segmento de código crítico esto ya es
00:06:14
una costumbre no no hace falta siempre
00:06:17
pongan el Catch y evaluo este lo que va
00:06:21
a hacer va evaluar si el parámetro no
00:06:23
hay nada va a ser que muestre toda la
00:06:25
tabla clientes si se manda un nombre de
00:06:28
un cliente específico nombre un cliente
00:06:30
específico va a mostrar solo los
00:06:32
clientes que tengan ese nombre y Bueno y
00:06:35
qué tengo que evaluar si se manda si se
00:06:37
recibe como parámetro la nada o sea un
00:06:39
espacio o nada o si se recibe finalmente
00:06:42
un nombre para eso qué es el If como
00:06:45
cualquier parte de progamación
00:06:47
si la variable o sea lo que ain que el
00:06:50
parámetro aceptado por el procedimiento
00:06:52
almacenado es nada o sea es un carácter
00:06:56
vacío iniciar porque acá no s si ustedes
00:07:00
saben programar Pero bueno todos los
00:07:01
lenguajes de programación los bu siempre
00:07:05
inician con una llave y cuando terminan
00:07:07
los operación c cre men los videos pero
00:07:11
acá Bueno está el y que a diferencia del
00:07:14
try menos de ser el adelante en los If
00:07:17
el va después entonces si el parámetro
00:07:20
apellid nbre la variable ya vamos a
00:07:22
decir es
00:07:24
nada acá es un igual Solo que son igual
00:07:28
igual para indicar el
00:07:31
la igualación la comparación de si son
00:07:33
iguales acá es uno c
00:07:35
igual inicial If o sea el rombito si
00:07:39
vamos a algoritmo de flujo y pongo la
00:07:43
consulta que quiero que ejecute entonces
00:07:46
mostrame todos los campos de la tabla
00:07:48
cliente Cerramos el If porque yo no
00:07:51
quiero que haga más nada Y si de lo
00:07:54
contrario O sea si no entró a lif porque
00:07:55
no es caráter vacío inicial el y hace la
00:08:01
consulta o sea seleccion todos los
00:08:03
campos de la tabla cliente donde el
00:08:06
campo apellido o sea bueno si el campo
00:08:09
apellido igual a lo que se recibió por
00:08:11
parámetro cerras el els O sea cerr la
00:08:14
llave del
00:08:15
els cerras el try acá decía que es al
00:08:19
revés solo cambia el orden pero bueno
00:08:21
acord como acordarse memoria iniciamos
00:08:24
el Catch imprimimos el error con el
00:08:26
mensaje de error y terminamos el CCH
00:08:30
acá pu entonces o se ejecuta Así que
00:08:33
mostraría toda la tabla ven o por
00:08:35
ejemplo pongo nombre de un de un cliente
00:08:40
y solo tendría que mostrarme ese cliente
00:08:44
entienden y si no
00:08:47
está el cliente no muestra nada porque
00:08:51
no encontró o sea acá donde habamos
00:08:53
puesto donde entra al el no queda el
00:08:56
pero cuando hac
00:08:58
encuentra
00:09:00
esto es un poco ya de Procedimientos
00:09:03
almacenados con uno tema que es el de
00:09:05
que también puede ser aplicado en
00:09:07
cualquier consulta no es solamente
00:09:08
procedimientos basados acá lo hice en un
00:09:11
procedimiento pero ustedes en una
00:09:12
consulta simplemente pueden implementar
00:09:14
como fue implementar un momento el Case
00:09:16
cuando sac hicimos lo de stock bueno
00:09:20
otro procedimiento este lo hice más que
00:09:23
nada no es algo muy útil pero para ver
00:09:26
có pueden usar dentro una variable
00:09:27
dentro de una consulta visualización de
00:09:30
registros Entonces altero el
00:09:32
procedimiento de alcen pues ya lo tenía
00:09:33
creado cantidad de clientes ven que en
00:09:35
este no recibe ni un parámetro que yo
00:09:37
lece antes que no es obligatoriamente
00:09:39
siempre aceptar un parámetro acá Este
00:09:41
procado simplemente se ejecuta de esta
00:09:43
manera y no acepta ningún
00:09:45
parámetro este Proc entonces alterar el
00:09:47
procedimiento cantidad cliente que
00:09:49
funciona como declaro con declare
00:09:53
declaras una variable para el
00:09:55
procedimiento almacenado para la
00:09:56
consulta también va con el ara
00:10:00
llamada de como el nombre que va a tener
00:10:02
la variable y el tipo de dato si ustedes
00:10:05
quieren sarle un valor o sea ponerle un
00:10:08
valor a esta variable que tienen que
00:10:10
hacer y no está dentro de una consulta
00:10:11
tien que poner set el nombre de la
00:10:14
variable con siempre con el arroba
00:10:16
recuerden porque es como motor de base
00:10:18
de datos sabe que es una variable y el
00:10:20
nuevo valor imprimo el valor de variable
00:10:23
para saber qué valor tiene el
00:10:26
principio selecciono ahora la
00:10:30
selección la visación de registro
00:10:32
entonces selecciona contar los dni
00:10:35
guardalos en esta
00:10:37
variable de la tabla clientes una vez
00:10:40
más selecciona guardando en esta
00:10:43
variable contando los dni de la tabla
00:10:46
cliente acuerden que acá gres siempre se
00:10:49
trabaja sobre esta columna y este línea
00:10:52
le estoy ensenando además Cómo utilizar
00:10:55
una variable para guardar un resultado
00:10:57
de un segmento de una ición de
00:11:01
registros qué más bueno como este
00:11:05
procedimiento almacenado lo que va a
00:11:06
hacer es evaluar si ya superaste los 10
00:11:08
o no clientes dice y después mostrate
00:11:11
cuántos clientes tenés si es que los
00:11:14
superaste agarra Y dice Bueno entonces
00:11:16
la variable cantidad que fue modificada
00:11:19
acá es mayor a 10 Si contó más de 10
00:11:23
documentos porque se acuerdan que tenía
00:11:25
la primer x de clientes Entonces o sea
00:11:28
comen
00:11:30
imprimí superior los 10 clientes Ahora
00:11:32
tenés imprimí contenido de cantidad y
00:11:36
cerras el lif acá también como ven no
00:11:38
siempre un If como antes tiene que estar
00:11:40
acompañado un el un If puede hacer algo
00:11:42
y listo y terminar ahí como un Case
00:11:46
puede tener más de un buen
00:11:49
entienden o un solo
00:11:54
buen pero no quiero marar eso ya volver
00:11:56
antes ya creo que lo
00:11:58
entendieron si yo ejecuto esto como
00:12:01
tengo menos de 10 clientes insertados te
00:12:04
dice no tengo más de 10 clientes dice 10
00:12:07
superor los 10 clientes Ahora tienes
00:12:10
cuat y perdón no mala mía si ejecutamos
00:12:14
la alteración por hab hecho una prueba
00:12:16
tenemos cuatro clientes no tiene candar
00:12:20
te va a mostrar que tiene 10 y no entra
00:12:22
lif queda acá esto lo hace y cuando
00:12:26
viene acá como noos termina
00:12:30
si yo pongo menor a 10 que como estaba
00:12:32
antes de hacer la
00:12:34
alteración para que si me lo
00:12:37
muestre y acá pongo que no superó los
00:12:43
10 decir cuántos clientes tengo y el
00:12:45
cartón no supera los
00:12:48
10 10 no super los 10 Ahora tenés
00:12:52
cu y finalmente lo que viene es el tema
00:12:55
de cursores que es un tema bastante
00:12:58
bueno que te permite trabajar o sea el
00:13:02
procedimiento trabaja una consulta en
00:13:04
total acá puedes ir analizando línea por
00:13:06
línea de una consulta y eso La verdad
00:13:09
para ciertas situaciones
00:13:11
está
00:13:13
piola es como un procedimiento
00:13:15
almacenado o sea está dentro un
00:13:17
procedimiento almacenado y eh este ya lo
00:13:20
tengo creado Así que altero procedura o
00:13:23
sea alterar el procedimiento ya creado
00:13:25
llamado pruebas cursores que funciona
00:13:28
como declaro una variable del tipo
00:13:32
entero que en este en este caso es
00:13:34
entero no siempre ti entero no por este
00:13:36
caso yo lo que voy a hacer es evaluar en
00:13:39
la tabla cliente a los clientes tiene
00:13:41
una contraseña si esa contraseña es
00:13:42
menor a cuatro caracteres quiero que la
00:13:45
cambio por la fecha actual Y de esa
00:13:46
manera darme cuenta bueno queé clientes
00:13:49
no no pus una correcta
00:13:52
contraseña o sea no s para esto para que
00:13:54
para un ejemplo entonces en esta
00:13:56
variable yo voy a guardar el lo que
00:13:59
después me va a dar el cursor a su vez
00:14:01
declaro una variable llamada cursor de
00:14:04
usuario que es del tipo cursor o sea
00:14:07
como esta tiene tipo entero est tipo
00:14:09
cursor con la Part de esta variable no
00:14:12
termin variable pues ya no tiene la roba
00:14:14
no tipo cursor y lo que hago es que o
00:14:19
sea at del guardo la consulta que va a
00:14:22
tener el cursor o
00:14:23
sea seleccion dni de la tabla clientes
00:14:26
donde la longitud
00:14:30
contenido del campo contraseña sea menor
00:14:33
a cuat con el L medimos la longitud no
00:14:38
de de un campo de una tabla del
00:14:42
contenido del campo de una
00:14:44
tabla para que má entienda el cursor lo
00:14:47
que hace es como una flechita y por
00:14:49
cuando resuelven una a ver por ejemplo
00:14:53
AC utilizar esto es como cuando menos de
00:14:56
tirar est cito entero va a agarrar y va
00:14:58
a tener una flechita acá va parar en
00:14:59
esta línea toda esta línea después el
00:15:02
cursor se va a incrementar Ah no antes
00:15:04
lo va a guardar en esta variable y
00:15:07
después se va a incrementar y va a bajar
00:15:09
esta línea y este contenido la va a
00:15:11
bordar y guardar en esta variable y así
00:15:13
hasta llegar al final de todos los
00:15:14
campos de la tabla Entonces qué tien que
00:15:17
usar un bucle un bucle se acuerdan que
00:15:19
un bucle da vueltas en un mismo segmento
00:15:22
de código se va a repetir un segmento de
00:15:24
código hasta que ocurra una determinada
00:15:27
condición
00:15:29
Bueno entonces abro el
00:15:32
cursor la O sea agarro y digo Bueno la
00:15:36
primera línea del cursor la guardo
00:15:38
dentro de la variable que yo lamé ID
00:15:42
intero entonces viene agarra como el
00:15:45
cursor te va a devolver un dni que era
00:15:47
entero por eso est es entero y le decía
00:15:50
no hace falta depende lo que devuelva el
00:15:53
cursor entonces
00:15:57
entero la primera línea se posiciona acá
00:15:59
devuelve este centero y lo guarda dentro
00:16:01
de la variable ID y se pregunta a través
00:16:05
de esta cante del motor sabe si se llegó
00:16:09
si es igual a cero es que
00:16:11
eh cómo se
00:16:14
llama No no no se llegó al final de
00:16:18
todos los contenidos de la tabla el bim
00:16:23
inicia este bucle mientras no sea el
00:16:25
final o sea mientras haya
00:16:27
datos inicia el bucle y actualiza la
00:16:32
tabla clientes sete el
00:16:35
campo contraseña igual o sea el nuevo
00:16:39
Val que va a tener y nosotros queremos
00:16:42
tenemos un que nuestro campo son de
00:16:45
barchart y necesitamos que acepte una
00:16:48
fecha Entonces
00:16:49
conver el
00:16:52
barch conver la fecha en formato 121 las
00:16:57
fechas tienen un formato Este es el
00:16:58
formato estándar ese 2 el año mes día y
00:17:04
guardarlo como si fuera un barchart que
00:17:06
es el tipo de dato de nuestro campo en
00:17:09
la tabla porque acá es barch no es Data
00:17:12
Time entonces AC con esto convertimos la
00:17:15
fecha el Data Time en un barchat y
00:17:18
actualizar entonces la tabla cliente
00:17:20
sando en el campo contraseña la
00:17:22
conversión de la fecha en barchart
00:17:27
donde la
00:17:29
el dni sea igual al ID y que ID lo que
00:17:34
retornó el cursor en la primera línea o
00:17:37
sea la línea actual vendr no siempre la
00:17:39
primera después esta va ser la segunda
00:17:41
cuando se incremente lo que devolvió que
00:17:44
este caso entero ent se pregunta el dni
00:17:47
es igual a
00:17:50
la có Llama a lo que devolvió el
00:17:55
cursor hace la
00:17:57
conversación hacer lo mismo que habíamos
00:18:00
hecho antes ya esto no se vaar sinando
00:18:02
dentro bucle y vuelve para arriba así
00:18:06
hasta llegar hasta que esta condición se
00:18:08
cumpla más termina el bucle se cierra el
00:18:12
cursor se libera el cursor o sea se
00:18:15
libera este espacio memoria en el mot
00:18:18
base de datos y
00:18:22
listo un ejemplo se ejecutaría Sería
00:18:25
bueno traigo todos los dni longitud
00:18:29
Bueno antes esperen un segundito que
00:18:31
vamos ir a la tabla y vamos
00:18:33
a Modificar
00:18:36
el un campo para que tenga menos de tres
00:18:41
caracteres que son
00:18:44
men esa contraseña b2
00:18:48
y tiene
00:18:50
21
00:18:51
21
00:18:57
dos Ay
00:19:01
Dios
00:19:03
Opa est
00:19:13
mal esto sería incorrecto Pero bueno
00:19:16
para salir un poco el
00:19:19
apuro
00:19:22
ahora estamos acá entonces si yo ejecuto
00:19:27
de nuevo esto
00:19:29
tengo los siguiente
00:19:30
dato va se ejecuta el Select un solo
00:19:35
línea o sea para la primera línea que va
00:19:37
a devolver no llega a hacer esto sino
00:19:39
que viene y primero vamos hacer mostr
00:19:44
campo de
00:19:47
donde de los campos
00:19:53
Ay voy a mostrar ahora cómo es que vamos
00:19:56
autar Esto entonces
00:19:59
Esta es la tabla que nosotros tenemos no
00:20:02
Quiénes son los que tienen menos de
00:20:03
cuatro caracteres H la 1 2 3 y 02 3 3
00:20:08
566 Entonces si ejecutamos el quién
00:20:12
tiene que volver este y este son que
00:20:15
estos dos
00:20:17
no
00:20:19
Entonces si estamos correcto se devolv
00:20:22
los dos que esperamos porque tien menos
00:20:24
de cu caracteres en su
00:20:27
contraseña entonces agarra como el fch
00:20:32
se posiciona en la primera línea de est
00:20:34
de lo que devolvió el cursor lo que está
00:20:35
guardado el cursor se posiciona acá y lo
00:20:38
guarda en esta variable ID porque
00:20:40
acuerden que era entero porque esto que
00:20:43
de retorno es entero sio sería
00:20:45
caracteres acá No si esto fuera
00:20:47
caracteres una fecha sio fuera una fecha
00:20:51
Entonces se guardó en esta variable
00:20:54
temporal este
00:20:56
contenido o sea por lo tanto si siemp
00:20:58
tien que una variable para guardar el
00:21:00
contenido porque no pueden guardarla en
00:21:01
esta tengan en cuenta eso bueno inici
00:21:06
es O sea ya no hay más datos en la tabla
00:21:08
no después entonces inicia actualizame
00:21:12
el
00:21:13
campo en la tabla clientes el campo
00:21:16
contraseña bueno por la fecha
00:21:20
donde
00:21:21
esto lo que está contenido est esto sea
00:21:25
igual a
00:21:26
la va venir
00:21:29
tiene este número El 55 viene va acá se
00:21:33
posiciona
00:21:35
acá toma la fecha
00:21:38
actual config el motor de base de datos
00:21:41
la convierte en un barch y la guarda acá
00:21:43
ahora esto quedó guardado quedó esa
00:21:46
fecha entonces viene guarda otra vez la
00:21:49
segunda línea de esta
00:21:52
consulta viene acá se para acá guarda
00:21:55
este esto este contenido guarda dentro
00:21:59
de la variable de tipo entero ID y
00:22:04
eh la guarda tipo entero y vuelve para
00:22:06
arriba Entonces dice bueno buscame
00:22:10
actualizame el campo dónde y de es adni
00:22:15
Entonces es el
00:22:22
6689 viene acá se 6689 viene acá
00:22:27
modifica esto por la fecha y vuelve a
00:22:31
intentar guardar Alor ahora ya es el
00:22:36
final del archivo Sí no hay nada de
00:22:38
archivo no hay más nada en la tabla Sí
00:22:40
bueno cerras
00:22:43
termina cierra el cursor y libera el
00:22:46
espacio de memoria si nosotros
00:22:48
ejecutamos esto y ahora hacemos
00:22:52
esto exactamente como se lo describ tomó
00:22:55
toda la fecha actual la hora todo
00:22:59
porque buen 45 justo Me cambi
00:23:02
y se guardó así el contenido estos
00:23:07
procedimientos almacenados y
00:23:11
cursores el contenido dentro del cursor
00:23:13
y el contenido de los procedimientos
00:23:16
almacenados es variable Lo que ustedes
00:23:18
quieran se acerta parámetro Y eso
00:23:20
también
00:23:21
y lo mismo contenido de los cursores que
00:23:24
no deja un procedimiento almacenado pero
00:23:27
en cuenta que tiene que esta lógica no
00:23:30
siempre
00:23:31
esto esto esto y esto va a estar esto es
00:23:37
opcional y esto
00:23:39
también esto es lo que ustedes pero el
00:23:42
resto de la estructura es siempre la
00:23:43
misma lógica bueno Y ahora cómo se llama
00:23:48
algo también les quería decir que en los
00:23:51
cursores no es que solo puedes guardar
00:23:54
nada más un dato si acá usted por
00:23:56
ejemplo consultado también sean
00:23:58
guardados apellido y nombre no sé por
00:23:59
qué pero hicieran guardar para evaluar
00:24:02
algo y pusieran como campo apellido y
00:24:04
nombre tendrían que poner acá otra
00:24:05
variable del tipo apellido y nombre tipo
00:24:09
bar charar y después cuando hacan el fch
00:24:12
tendrían que volver poner acá también
00:24:14
Que guarde en o sea coma y apellido y
00:24:18
nombre y acá también no coma apellido y
00:24:20
nombre y de esa forma funciona ahora por
00:24:23
último les quería Mostrar un temita
00:24:25
quedado arriba pero esto más que nada
00:24:28
que se confundan sería como sería un
00:24:30
bucle para repetir algo cortito usando
00:24:34
una variable que nosotros creamos para
00:24:35
una consulta ve que esto no está dentro
00:24:37
procento es una consulta má o sea
00:24:41
tranquilamente las consultas que esty
00:24:42
haciendo al principio pueden usar
00:24:43
variables y acá lo declar variable tipo
00:24:46
entero que va a ser un contador la ceteo
00:24:49
en cero hago un bucle o sea mientras la
00:24:53
variable I sea menor a
00:24:57
5 imprimir Hola mundo y ponerle el nuevo
00:25:01
valor o sea se tear ahora a la variable
00:25:03
I y + 1 es decir si ahora vale 0 ahora
00:25:07
empiez a valer un y vuelvo acá 1 5
00:25:10
imprimí esto a vale 2 2 men 5 ahora esto
00:25:14
3 es -5 imprimí esto se ti nuevo valor 4
00:25:17
4 - 5 imprimí esto se ti nuevo valor que
00:25:20
pasa a ser 4 + 1 5 y ahora ent While y
00:25:24
dice 5 es -5 No no ya está ent terminas
00:25:28
este y terminas imprimiendo una dos 3 cu
00:25:32
cco veces el mundo pu empezó de cero si
00:25:35
acá Pon una ent son cuatro recuerda Y
00:25:38
esto no solamente se Prim mundo sino no
00:25:40
sé podría ser que repito una consulta
00:25:43
con Tops y que se vaya incrementando
00:25:46
menos de un top y ponés el valor de la
00:25:49
variable entonces en la primera vuelta
00:25:51
te muestra un registro en la segunda
00:25:52
vuelta te muestra dos en la tercera te
00:25:54
muestra tres y no sé y tiene una
00:25:57
variable más y van cambiando y que
00:25:59
muestre los pares de del no
00:26:02
sé
00:26:03
de de de una tabla por ejemplo vos
00:26:07
querés que vaya mostrando Tenés una ID
00:26:09
que son van del cero para en adelante y
00:26:13
queres que muestre
00:26:16
los o sea da 10 que muestre uno no te
00:26:19
pondrías top uno y con la variable esa
00:26:22
que se va a incrementar de y y otra
00:26:24
variable que eh se incremente da 10
00:26:29
entonces pones top un y cuando ponías el
00:26:34
we pones que la s idea sea igual a la a
00:26:39
la nuevo valor de variable que esa que
00:26:41
se auto incrementa pero Tom
00:26:44
novedad así que bueno ahora un temita
00:26:47
más de los condicionales supongamos
00:26:49
nuestra tabla clientes Ah tiene un nuevo
00:26:50
campo que es el uno de contraseñas Y
00:26:53
tenemos contraseñas como 1 2 3 como
00:26:55
contraseñas nulas y eh
00:27:01
nos n do TR y que no tengamos nada pero
00:27:04
en este caso tenemos n Nosotros queremos
00:27:07
hacer una consulta que te muestre si es
00:27:08
1 2 3 o nulo qu error
00:27:13
entonces qu haríamos
00:27:17
seleccion el campo nombre y
00:27:21
cas sea el caso donde el campo
00:27:26
contraseña es nulo por ejemplo este
00:27:30
entonces Mostrar error en el caso de que
00:27:35
de contraseña sea 1 2 3 mostra error en
00:27:39
el caso cont se nulo
00:27:42
nada mostra error de lo contrario si no
00:27:45
se cumple ninguno de estos casos Pon la
00:27:47
contraseña que está terminar Case
00:27:51
mostrarlo con el Ale o sea como
00:27:55
psd y el dni de la tabla
00:27:59
centes
00:28:01
siamos como ven apareció error acá y
00:28:03
error acá que son Trust Cher y d
00:28:07
Gastón y Gastón tenía 1 do 3 y tenía
00:28:12
nul bueno
00:28:16
eh esta consulta que acabo de hacer es
00:28:18
un elemento más de la visualización de
00:28:20
registro después de acá pueden ir joins
00:28:22
pu order bu acá lo dice corto pero esto
00:28:25
es un elemento más de la consulta que va
00:28:28
antes de los otros componentes no y qué
00:28:32
les quería decir agregar Ah este es un
00:28:35
Case acá podría hasta acá es un Case no
00:28:38
y yo tranquilamente podría haber
00:28:40
puesto acá coma y otro Case Es que solo
00:28:45
un case por consulta por ha puesto coma
00:28:46
y otro Case que obedezca a otra columna
00:28:49
no sé Fijate los casos que la dirección
00:28:51
sea números que está
00:28:53
mal direcciones incorrectas
00:28:56
entienden bueno Dios no hay más nada que
00:29:01
explicar ya no no tengo más nada por
00:29:07
hoy Espero que le sirva y bueno nos vos