Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Cómo crear una función en SQL Developer
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Continuamos con el tema dedicado a la creación de módulos, funciones y procedimientos con un ejemplo de una función.
00:00:02
En este caso, lo que he hecho ha sido crear una función que se llama hijos de empleados,
00:00:10
que básicamente lo que hace es que le paso como parámetro un número de hijos y me devuelve cuántos empleados hay que tienen ese número de hijos.
00:00:15
El cuerpo de la función sería este, siempre la misma estructura, creatore, clase, función, número de la función, parámetro de entrada, hijos, y fijaros en el valor de vuelta.
00:00:25
En el valor de vuelta se indica tanto el tipo y la variable con el tipo que lo va a recoger, en la que se va a devolver.
00:00:38
En algunos lenguajes de programación se utiliza el nombre de la función
00:00:51
Con lo cual no haría falta declarar esto
00:00:55
Simplemente el tipo de dato y luego poner un return con el nombre de la función
00:00:58
Ya ves que en PSQL además del nombre de la función y del tipo de dato
00:01:03
Hay que declarar la variable con su tipo que lo va a recoger
00:01:09
Diréis, ¿por qué aparece IntegrityNumber?
00:01:16
Bien, aparece por lo siguiente, porque yo en la base de datos lo he creado como integer, pero luego en PLSQL no existe el tipo integer, sino que es number.
00:01:19
¿Qué es lo que hace? Bueno, esta función lo que hace es que declara un cursor implícito, ya que va a devolver una única fila con el número de empleado,
00:01:33
que es un count
00:01:42
que lo vuelca
00:01:44
en el valor que voy a utilizar de vuelta
00:01:45
en la variable que voy a utilizar
00:01:49
para el valor de vuelta
00:01:50
y que selecciona de la tabla empleado
00:01:52
me cuenta todos los empleados
00:01:54
que tienen el número de hijos igual
00:01:57
a hijos que es el valor que le he pasado
00:01:58
como argumento y después lo devuelve
00:02:00
¿de acuerdo?
00:02:04
en otra hoja
00:02:07
PLSQL
00:02:09
perdón, otra hoja SQL que puedo abrir
00:02:10
indicando aquí, indicando sobre la conexión que se hace
00:02:14
¿Veis? Aquí abrí una y pego el código
00:02:18
pues hago la llamada. ¿Qué es lo que hace la llamada? Bueno, habilita
00:02:21
la salida y
00:02:26
declara dos variables. La primera es hijos, que la va a pedir
00:02:30
y la segunda es cont, que es
00:02:34
donde la va a recoger, fijaros que la declaro
00:02:38
dando como entero
00:02:41
entonces, esto me pediría
00:02:42
¿cuántos números de hijos?
00:02:44
y lo que hace el código
00:02:47
es que, como os decía
00:02:49
al ser una función
00:02:51
un módulo que devuelve un valor
00:02:52
para llamarlo, necesito una variable
00:02:54
que recoja ese valor, en este caso
00:02:57
es la variable cont
00:02:59
entonces se pone una cosa parecida a esta
00:03:00
cont va a ser igual a lo que devuelva
00:03:02
hijo empleado que devuelve hijos
00:03:05
esto llamaría a la función
00:03:07
haría el select
00:03:11
el valor se devuelve en cont
00:03:12
y se almacena en cont
00:03:15
no tiene por qué llamarse igual
00:03:16
pero bueno, la llama de igual
00:03:18
y lo que hace es que
00:03:19
si comprueba que sea cero
00:03:22
para decirme que no hay empleados
00:03:24
con
00:03:26
ese número de hijos
00:03:26
he puesto ese con esos hijos
00:03:31
y si no
00:03:33
pues me dice que hay empleados con hijos, ¿vale? Bien, os he dicho que hasta ahora no hemos dejado almacenados los bloques anónimos de PLSQL,
00:03:37
pero sí se pueden almacenar, no me riñáis, sé que lo tenía que haber dicho antes. ¿Cómo se pueden guardar estos bloques de PLSQL?
00:03:54
Pues se pueden guardar como si fuese una función normal y corriente, como si fuese un archivo normal y corriente. Entonces yo le digo guardar como porque ya lo he guardado y me va a la carpeta root. Yo lo que he hecho ha sido crearme una carpetita empleados, que la puedo crear aquí, ¿vale?
00:04:02
y dentro de ese le pongo un nombre, le he puesto llamada, función, nombre de la función, llamada, procedimiento,
00:04:22
este es el de antes, lo guardo y ya lo tengo ahí disponible.
00:04:31
Vamos a comprobar que funciona, como siempre primero lo compilamos, veis que no da error, compilado,
00:04:38
y ahora lo comprobamos utilizando la llamada.
00:04:46
cuando lo ejecuto
00:04:52
perdón, le tenía que haber dado aquí
00:04:56
bueno, igual
00:04:58
me dice que
00:05:00
con qué conexión lo quiero ejecutar
00:05:01
por defecto me coge
00:05:04
la que tengo abierta, me pide el número de hijos
00:05:06
pues bueno, le voy a poner 2
00:05:08
pues me dice
00:05:10
como resultado que hay
00:05:12
6 empleados con 2 hijos
00:05:14
lo voy a volver a ejecutar
00:05:16
y le voy a poner un valor que sé que no hay
00:05:18
12 hijos
00:05:20
para que me diga que no hay empleados con esos 12 hijos
00:05:21
de acuerdo
00:05:27
de esa manera
00:05:29
lo guardo, si
00:05:33
de esa manera, a ver si me deja
00:05:37
pues tenemos que el procedimiento o función queda almacenado en la conexión
00:05:40
como ya vimos
00:05:47
Aquí abro la función y aquí abro el procedimiento y la llamada pues puedo acceder a ella en cualquier momento abriendo mi carpetita de base de datos y voy a volver por ejemplo a abrir otra vez la llamada al procedimiento.
00:05:48
la ejecuto
00:06:09
número de departamento
00:06:12
pues el 120
00:06:15
aceptar
00:06:17
solo hay un empleado
00:06:19
en el departamento 120
00:06:21
vale
00:06:22
muy bien, entonces un saludo y hasta luego
00:06:25
- Autor/es:
- Navajas Martínez, Alfonso
- Subido por:
- Alfonso N.
- Licencia:
- Reconocimiento
- Visualizaciones:
- 106
- Fecha:
- 29 de abril de 2020 - 12:49
- Visibilidad:
- Público
- Centro:
- IES TETUAN DE LAS VICTORIAS
- Duración:
- 06′ 30″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 14.05 MBytes
Para publicar comentarios debes entrar con tu nombre de usuario de EducaMadrid.
Comentarios
Este vídeo todavía no tiene comentarios. Sé el primero en comentar.