Curso de SQL Server 2021 desde cero | T-SQL, PROCEDIMIENTOS ALMACENADOS (video 59)

INFORMATICONFIG
14 Jul 202315:47

Summary

TLDREste script presenta un curso de SQL Server centrado en los procedimientos almacenados, que son conjuntos de instrucciones con un nombre guardado como objeto en la base de datos para realizar tareas repetitivas. Se discuten diferentes tipos de procedimientos, como los del sistema, locales y temporales. Se ilustra cómo crear y ejecutar procedimientos para tareas específicas, como seleccionar registros con ciertas condiciones, actualizar datos y aplicar lógica de programación con bloques de sentencias y funciones condicionales. El objetivo es automatizar operaciones y mejorar la eficiencia en la gestión de datos.

Takeaways

  • 😀 Procedimientos almacenados son un conjunto de instrucciones con un nombre guardadas como objeto en la base de datos para realizar tareas repetitivas en SQL.
  • 📚 Existen diferentes tipos de procedimientos almacenados: los del sistema (con prefijo SP), locales creados por el usuario y temporales (con signos numerales).
  • 🔍 Los procedimientos almacenados locales están disponibles solo para una sesión de usuario y se eliminan al cerrarla.
  • 🌐 Procedimientos almacenados globales están disponibles para todas las sesiones de la base de datos y comparten la lógica de la aplicación.
  • 🛠 Permiten realizar operaciones complejas en un solo lugar, reduciendo el tráfico de red y evitando el acceso directo a las tablas.
  • 👨‍💻 Se pueden crear procedimientos almacenados en SQL Management Studio utilizando la sintaxis 'CREATE PROC' seguido del nombre y la instrucción 'AS'.
  • 🔄 Ejemplo práctico: crear un procedimiento para seleccionar artículos con una cantidad menor o igual a 20 unidades.
  • 🔄 Otro ejemplo: actualizar el inventario estableciendo la cantidad en 10 para los artículos que antes tenían cero.
  • 💰 Se pueden aplicar bonificaciones a empleados según ciertas condiciones, como tener más de tres hijos, mediante procedimientos almacenados.
  • 📝 Utilizar bloques de sentencias y funciones condicionales como 'IF EXISTS' para controlar el flujo dentro de los procedimientos almacenados.
  • 📢 La función 'PRINT' en SQL Server permite mostrar mensajes por consola dentro de los procedimientos almacenados.

Q & A

  • ¿Qué son los procedimientos almacenados en SQL Server?

    -Los procedimientos almacenados son un conjunto de instrucciones que se les da un nombre y se guardan como objeto dentro de una base de datos, con el fin de realizar tareas repetitivas dentro de SQL.

  • ¿Cuáles son los diferentes tipos de procedimientos almacenados que se mencionan en el script?

    -Se mencionan los procedimientos almacenados que se almacenan en la base de datos Master, los locales creados por el usuario, y los temporales que pueden ser locales o globales.

  • ¿Qué prefijo se utiliza para los procedimientos almacenados en la base de datos Master y para qué sirven?

    -Los procedimientos almacenados en la base de datos Master llevan el prefijo 'SP_' y se utilizan para recuperar información de tablas del sistema; se pueden ejecutar en cualquier base de datos.

  • ¿Qué ventajas ofrecen los procedimientos almacenados de tipo global en comparación con los locales?

    -Los procedimientos almacenados de tipo global están disponibles en las sesiones de todos los usuarios de la base de datos, compartiendo la lógica de la aplicación con otras aplicaciones y permitiendo realizar operaciones en un solo lugar, lo que reduce el tráfico de red.

  • ¿Cómo se crea un procedimiento almacenado en SQL Server según el script?

    -Para crear un procedimiento almacenado, se utiliza la instrucción 'CREATE PROC', se le da un nombre, y se define la instrucción 'AS' seguida de la consulta o lógica que se desea que el procedimiento ejecute.

  • ¿Qué es un procedimiento almacenado que retorna un valor entero y cómo se indica esto en SQL Server?

    -Un procedimiento almacenado que retorna un valor entero es aquel que tiene como objetivo devolver un número entero después de su ejecución. En SQL Server, esto se indica con la sintaxis 'RETURNS INT' después del nombre del procedimiento.

  • ¿Cómo se ejecuta un procedimiento almacenado en SQL Server?

    -Para ejecutar un procedimiento almacenado, se utiliza la instrucción 'EXEC' seguida del nombre del procedimiento almacenado.

  • ¿Qué hace el procedimiento almacenado 'p_existencia' creado en el script?

    -El procedimiento almacenado 'p_existencia' selecciona todos los artículos de la tabla 'artículos' donde la cantidad sea menor o igual a 20.

  • ¿Qué función condicional se utiliza en el procedimiento almacenado 'p_actualiza_inventario' y para qué sirve?

    -El procedimiento almacenado 'p_actualiza_inventario' utiliza la función condicional 'IF EXISTS' para verificar si hay registros en la tabla 'artículos' con cantidad igual a cero y, de ser así, actualizar la cantidad a 10.

  • ¿Qué función se utiliza en el procedimiento almacenado para mostrar un mensaje en la consola y cómo se usa?

    -La función 'PRINT' se utiliza para mostrar un mensaje en la consola. Se usa encerrando el mensaje entre comillas y ejecutando la instrucción 'PRINT 'mensaje';'.

  • ¿Cómo se implementa la lógica de bonificación en el procedimiento almacenado 'p_bonificacion' según el script?

    -El procedimiento almacenado 'p_bonificacion' verifica si hay empleados con más de tres hijos. Si lo hay, actualiza su sueldo con un aumento del 20% y muestra un mensaje indicando que se ha aplicado la bonificación. Si no hay empleados con más de tres hijos, muestra un mensaje indicando que no hay empleados que cumplan con la condición.

Outlines

00:00

😀 Introducción a Procedimientos Almacenados en SQL Server

El primer párrafo introduce el tema de los procedimientos almacenados en SQL Server, explicando que son conjuntos de instrucciones con nombre guardadas como objetos en la base de datos para realizar tareas repetitivas. Se mencionan diferentes tipos de procedimientos, como los del sistema (con prefijo SP), locales creados por el usuario y temporales y globales, y se enfatiza su uso para compartir la lógica de la aplicación y reducir el tráfico de red al minimizar el número de solicitudes entre el cliente y el servidor. El script muestra cómo crear un procedimiento almacenado utilizando SQL Management Studio, seleccionando datos de una tabla de artículos con una cantidad menor o igual a 20.

05:01

🛠 Creación y Ejecución de Procedimientos Almacenados

Este párrafo detalla el proceso de creación de un procedimiento almacenado que actualiza la cantidad de artículos en inventario a 10 unidades donde la cantidad actual sea cero. Se describe el uso de la cláusula 'If exists' para verificar la existencia de registros con cantidad igual a cero y la actualización de la tabla 'artículos' en consecuencia. Además, se muestra cómo ejecutar el procedimiento almacenado y se verifica el resultado con una consulta select que confirma la actualización de las cantidades a 10.

10:03

🏢 Procedimientos Almacenados para Bonificación de Empleados

En el tercer párrafo, se presenta un procedimiento almacenado para aplicar una bonificación al sueldo de empleados que tienen más de tres hijos. Se describe la estructura de un bloque de sentencias con 'If exists' para buscar registros en la tabla 'empleados' y un bloque anidado para actualizar el sueldo y mostrar un mensaje por consola usando la función 'print'. También se incluye un bloque 'Else' para manejar el caso en que no haya empleados con más de tres hijos, mostrando un mensaje correspondiente. Al final del párrafo, se ejecuta el procedimiento y se muestra cómo se maneja la condición no cumplida.

15:05

📚 Conclusión y Continuación del Curso de SQL Server

El último párrafo resume la información presentada hasta el momento y establece que, aunque el tema de los procedimientos almacenados es extenso, solo se ha tocado la superficie. Se menciona que en futuras entregas se explorarán temas como la actualización, eliminación y otras funciones que pueden trabajar dentro de los procedimientos almacenados. El script termina con un mensaje de despedida hasta la próxima entrega del curso.

Mindmap

Keywords

💡Procedimientos Almacenados

Los procedimientos almacenados son conjuntos de instrucciones SQL que tienen un nombre y se guardan como objetos en una base de datos para realizar tareas repetitivas. En el video, se menciona que estos procedimientos son fundamentales para la automatización de tareas y optimización del rendimiento, permitiendo la ejecución de múltiples operaciones con una única instrucción.

💡SQL Server

SQL Server es una estación de trabajo de base de datos relacionales desarrollada por Microsoft. Es el entorno en el que se desarrollan y ejecutan los procedimientos almacenados mostrados en el video, y es central para la gestión y操纵 de bases de datos empresariales.

💡Stored Procedure

Un stored procedure es un término en inglés que hace referencia a un procedimiento almacenado. En el script, se utiliza para describir los bloques de código que se pueden ejecutar en la base de datos y que son esenciales para la creación y actualización de datos de manera eficiente.

💡SQL Management Studio

SQL Management Studio (SMS) es una herramienta gráfica de usuario para la administración de bases de datos de Microsoft SQL Server. En el video, se utiliza SMS para crear y ejecutar procedimientos almacenados, mostrando su importancia en la gestión diaria de una base de datos.

💡SELECT

La instrucción SELECT en SQL se utiliza para recuperar datos de una o más tablas en la base de datos. En el video, se muestra cómo utilizar SELECT para crear consultas que luego se incorporan en procedimientos almacenados, como el ejemplo de seleccionar artículos con una cantidad menor o igual a 20.

💡CREATE PROC

CREATE PROC es una instrucción en SQL utilizada para crear un procedimiento almacenado. En el script, se detalla cómo se escribe esta instrucción para definir un nuevo procedimiento, como 'CREATE PROC p-existencia', que se usa para encontrar artículos con una cantidad específica.

💡EXEC

La instrucción EXEC en SQL se utiliza para ejecutar un procedimiento almacenado. En el video, se muestra cómo se ejecuta un procedimiento almacenado previamente creado, como 'EXEC p-existencia', para realizar la acción definida dentro del procedimiento.

💡Bloques de Sentencias

Los bloques de sentencias son estructuras en SQL que agrupan varias declaraciones para que se ejecuten juntas, a menudo en procedimientos almacenados. En el script, se utiliza un bloque de sentencias BEGIN...END para encapsular la lógica de actualización de datos dentro de un procedimiento almacenado.

💡IF EXISTS

IF EXISTS es una construcción condicional en SQL que se utiliza para evaluar si hay al menos una fila que satisface una condición antes de ejecutar un bloque de código. En el video, se implementa para verificar si hay artículos con una cantidad específica antes de actualizarlos.

💡UPDATE

La instrucción UPDATE en SQL se utiliza para modificar datos en una tabla. En el script, se muestra cómo utilizar UPDATE dentro de un procedimiento almacenado para cambiar el valor de una columna, como actualizar la cantidad de artículos o el sueldo de empleados.

💡PRINT

La función PRINT en SQL se utiliza para mostrar un mensaje en la consola o el resultado de una expresión. En el video, se utiliza PRINT para mostrar mensajes de反馈, como confirmaciones de que una bonificación ha sido aplicada o que no hay empleados con más de tres hijos.

Highlights

Introducción al concepto de procedimientos almacenados en SQL Server.

Explicación de los distintos tipos de procedimientos almacenados: a nivel de base de datos, locales y temporales.

Descripción de los procedimientos almacenados de sistema y su uso para recuperar información de tablas del sistema.

Importancia de los procedimientos almacenados locales y su creación por el usuario.

Mencion de los procedimientos almacenados temporales y su diferencia con los globales.

Ventajas de los procedimientos almacenados globales en términos de acceso y modificación de datos.

Cómo los procedimientos almacenados pueden reducir el tráfico de red al enviar una única instrucción.

Paso a paso para crear el primer procedimiento almacenado utilizando SQL Management Studio.

Creación de un procedimiento almacenado para seleccionar artículos con una cantidad específica.

Uso de la cláusula 'CREATE PROC' para definir un nuevo procedimiento almacenado.

Ejemplo práctico de cómo actualizar el inventario mediante un procedimiento almacenado.

Implementación de un bloque de sentencias para realizar una actualización condicional en la base de datos.

Uso de la función 'PRINT' para mostrar mensajes en la consola desde un procedimiento almacenado.

Creación de un procedimiento almacenado para aplicar bonificaciones a empleados según el número de hijos.

Análisis de la estructura de un procedimiento almacenado utilizando bloques anidados y condiciones.

Ejecución de procedimientos almacenados y revisión de los resultados en la base de datos.

Explicación de cómo los procedimientos almacenados pueden ser útiles en la gestión de operaciones repetitivas.

Perspectiva de futuro aprendizaje sobre procedimientos almacenados, incluyendo actualizaciones y eliminaciones.

Transcripts

play00:00

Hola qué tal YouTube videntes

play00:01

Bienvenidos a una nueva entrega de este

play00:03

su curso de sql server en esta ocasión

play00:05

vamos a empezar a trabajar con los

play00:08

procedimientos almacenados o storecidio

play00:12

y qué es esto de un procedimiento

play00:13

almacenado Pues los procedimientos

play00:15

almacenados son un conjunto de

play00:17

instrucciones a las que les damos un

play00:20

nombre y se guardan como objeto dentro

play00:22

de nuestra base esto con el fin de

play00:26

realizar tareas repetitivas dentro de

play00:29

sql Existen varios tipos de

play00:30

Procedimientos almacenados tenemos los

play00:33

que se almacenan en la base de datos

play00:35

Master aquí en nuestro sistema de bases

play00:38

de datos de nuestro explorador de

play00:39

objetos aquí tenemos la base de datos

play00:42

Master estos llevan un prefijo SP guión

play00:46

que se usan para recuperar información

play00:48

de tablas del sistema y se pueden

play00:50

ejecutar en cualquier base de datos

play00:53

tenemos los procedimientos almacenados

play00:56

de tipo locales que son los que crea el

play00:59

usuario que vamos a ver ahora tenemos

play01:01

los temporales que pueden ser locales

play01:04

estos se crean con un signo con el signo

play01:07

numeral y los que son de tipo globales

play01:09

que más adelante veremos que es eso son

play01:12

los que comienzan con dos signos numeral

play01:14

Entonces los locales están disponibles

play01:17

solo para la sesión de un solo usuario y

play01:20

se eliminan automáticamente Tan pronto

play01:22

se cierra esa sesión los procedimientos

play01:25

almacenados de tipo globales son los que

play01:28

quieran disponibles en las sesiones de

play01:30

todos los usuarios de la base los

play01:32

procedimientos comparten la lógica de su

play01:36

aplicación con otras aplicaciones dentro

play01:38

de la base Por lo cual el acceso y las

play01:41

modificaciones de los datos se realizan

play01:43

en un solo lugar permite realizar todas

play01:45

las operaciones que los usuarios

play01:46

necesitan evitando que tengan que

play01:49

accesar directamente a las tablas

play01:51

veremos Cómo se hace eso además que

play01:53

permite reducir el tráfico de red Ya que

play01:56

en lugar de enviar muchas instrucciones

play01:57

el usuario puede realizar operaciones

play01:59

enviando una única instrucción lo cual

play02:02

disminuye el número de solicitudes entre

play02:05

el cliente y el servidor entonces de

play02:08

inmediato vamos a poner manos a la obra

play02:10

nos vamos a nuestro sql management

play02:13

Studio y vamos aquí recuerden utilizando

play02:16

nuestra tabla principal vamos a hacer un

play02:20

Select a nuestra tabla de artículos aquí

play02:23

están nuestros datos y vamos a crear

play02:25

nuestro primer procedimiento almacenado

play02:28

entonces aquí por ejemplo dentro de mi

play02:31

inventario de artículos tenemos un campo

play02:33

que se llama cantidad Yo quiero ver

play02:35

todos los artículos de mi inventario que

play02:38

tengan menos de 10 unidades de

play02:40

existencia esto lo hacemos fácilmente

play02:43

con una consulta si no pues ya deberían

play02:46

saberlo pero en este caso lo vamos a

play02:48

hacer con un procedimiento al almacenado

play02:51

como yo creo un procedimiento almacenado

play02:53

lo primero es que aquí coloco la

play02:55

instrucción create espacio y ahora

play02:58

escribimos Proc con y al sistema sabe

play03:00

que voy a crear un procedimiento

play03:02

almacenado en mi base ahora le voy a dar

play03:04

un nombre a mi procedimiento a este yo

play03:06

lo voy a llamar Pro guión

play03:09

existencia generalmente

play03:11

se utiliza siempre como costumbre

play03:14

colocar digamos en la nomenclatura del

play03:17

nombre una parte que nos indique que es

play03:20

un procedimiento algunos administradores

play03:22

colocan Pro otros administradores

play03:24

colocan una p el nombre es irrelevante

play03:27

simplemente con que sea un nombre

play03:29

correcto de tipo carácter no hay ningún

play03:32

problema en este caso yo voy a llamar al

play03:33

mío p-existencia luego Aquí debajo voy a

play03:36

colocar la función o la instrucción as y

play03:40

aquí ahora hago un Select asterisco from

play03:44

artículos y coloco Where cantidad menor

play03:49

a 10 o 20 en este caso o para hacerlo un

play03:53

poco más exacto menor o igual a 20 punto

play03:56

y coma así de simple y sencillo acabo yo

play03:59

de crear mi primer procedimiento create

play04:01

Pro p existencia as y luego del As voy a

play04:05

colocar la función que yo quiero que

play04:07

haga ese procedimiento que es

play04:08

seleccionar todos los artículos de mi

play04:11

tabla artículos cuya cantidad sea menor

play04:13

o igual a 20 si yo aquí selecciono todo

play04:15

esto y ejecuto el sistema me dice que el

play04:17

comando se completó correctamente

play04:19

entonces aquí en mi explorador de

play04:22

objetos si yo me voy aquí donde dice

play04:24

principal voy a contraer y voy a darle

play04:27

aquí a refrescar despliego de nuevo me

play04:30

voy Aquí esta opción que dice

play04:32

programability o programabilidad

play04:34

despliego aquí y aquí veo una carpeta

play04:36

que dices torpecidios cuando yo

play04:38

despliego ahí puedo ver aquí un objeto

play04:41

que dice dbop existencia Este es mi

play04:44

procedimiento almacenado que yo Acabo de

play04:46

crear si despliego aquí veo que tiene

play04:50

una subcarpeta que dice para meterse o

play04:52

parámetros y fíjense aquí que tiene como

play04:55

una especie de icono con una instrucción

play04:58

que dice returns Qué quiere decir eso

play05:00

eso quiere decir que la función de este

play05:03

procedimiento almacenado es retornar un

play05:05

valor entero aquí yo le estoy diciendo

play05:07

que me seleccione desde mi tabla

play05:09

artículos todos los artículos que tienen

play05:11

una cantidad menor igual a 20 el

play05:13

resultado que estoy pidiendo Aquí está

play05:16

parametrizado para manejar un valor

play05:18

entero que es del campo cantidad por lo

play05:20

tanto aquí me dice que la vamos a

play05:23

llamarle la naturaleza del procedimiento

play05:25

es retornar un entero Ahora aquí yo

play05:27

simplemente he creado mi procedimiento

play05:29

ahora me falta poner en ejecución ese

play05:32

procedimiento almacenado como yo hago

play05:34

eso Pues para eso me voy aquí debajo y

play05:36

voy a colocar la siguiente instrucción

play05:39

exec y coloco el nombre de mi

play05:41

procedimiento p existencia punto y coma

play05:44

si yo ahora selecciono solamente esta

play05:47

instrucción de aquí abajo y la ejecuto

play05:48

que estoy viendo aquí todos los

play05:50

artículos cuya cantidad es menor o igual

play05:54

a 20 que fue lo que pedía aquí aquí está

play05:56

ninguno sobrepasa la cantidad de 20 todo

play06:00

es de 20 unidades hacia abajo entonces

play06:03

vamos a realizar aquí una pequeña

play06:05

práctica Aquí vemos algunos valores que

play06:07

dicen cero digamos que yo tengo la

play06:09

instrucción de actualizar mi inventario

play06:13

y verificar que en donde quiera que la

play06:15

cantidad sea cero Pues coloque un 10

play06:18

digamos que de cada artículo que está en

play06:20

cero yo recibí 10 unidades y debo

play06:22

insertarlas en mi inventario como yo

play06:26

puedo hacer eso con un procedimiento

play06:28

almacenado vamos a Borrar toda esta

play06:30

instrucción y vamos a escribir lo

play06:32

siguiente create pro y no solamente

play06:36

podemos usar Pro también podemos

play06:38

utilizar la palabra completa prose diur

play06:40

Recuerden que ahorita utilizamos

play06:42

solamente Pro pero también podemos

play06:43

utilizar prosidium no importa y a este

play06:47

lo vamos a llamar IP actualiza

play06:51

inventario as y aquí debajo vamos ahora

play06:54

a crear un bloque de sentencias Por qué

play06:57

Porque lo que vamos a hacer es una

play07:00

actualización que va a utilizar una

play07:03

función condicional recuerde que cuando

play07:05

se trata de analizar lógica de

play07:07

programación debemos utilizar bloques de

play07:09

sentencias entonces aquí creo mi sección

play07:12

de ejecución begin y aquí ahora vamos a

play07:15

utilizar nuestra condicional If exits

play07:18

que ya sabemos lo que significa y para

play07:20

qué se usa abrimos paréntesis Y ahora yo

play07:23

hago un Select asterisco from artículos

play07:27

En donde aquí debajo y ahora coloco

play07:31

cantidad sea igual a cero y cierro

play07:35

paréntesis que voy a hacer entonces aquí

play07:37

ahora si se cumple todo eso update

play07:40

artículos y ahora coloco set cantidad

play07:44

igual a 10 en donde cantidad sea igual a

play07:48

cero coloco punto y coma luego aquí

play07:51

abajo coloco un end para culminar con la

play07:54

ejecución de mi bloque de sentencias si

play07:57

yo selecciono todo esto y ejecuto el

play08:00

sistema me dice que el comando se

play08:01

completo correctamente voy aquí a mi

play08:03

sección de objetos aquí en

play08:05

procedimientos almacenados hago un

play08:08

refresh despliego aquí de nuevo en

play08:10

programability procedimientos

play08:12

almacenados Aquí está mi nuevo

play08:13

procedimiento actualiza inventario voy

play08:15

ahora a proceder a ejecutar aquí

play08:18

copiando el nombre para ahorrar tiempo

play08:20

exec el nombre de mi procedimiento punto

play08:23

y coma selecciono ejecuto el sistema me

play08:27

dice cinco filas afectadas Qué significa

play08:30

esto que el sistema hizo correctamente

play08:33

lo que programamos aquí Y qué fue lo que

play08:35

hicimos creamos nuestro procedimiento y

play08:37

colocamos luego de la función a la

play08:40

apertura de un bloque porque vamos a

play08:41

colocar una función condicional entonces

play08:43

decimos si Existe algún valor en este

play08:48

Select es decir buscando dentro de la

play08:50

tabla los cantidades con cero si

play08:53

encuentra algo entonces procede

play08:55

actualizar dentro de la tabla el campo

play08:57

cantidad igual a 10 específicamente en

play09:00

donde esa cantidad encontrada se hace y

play09:03

luego finaliza ahora entonces hacemos un

play09:06

Select y creo que lo tengo por acá abajo

play09:09

así ya lo vi acá Aquí está asterisco

play09:12

from artículos ejecutamos y fíjense como

play09:15

ya yo no tengo ninguna cantidad en cero

play09:17

en mi inventario todo ha sido

play09:20

actualizado a 10 entonces recuerden

play09:23

guardar notas de las prácticas que vamos

play09:26

haciendo yo voy a borrar ahora esta

play09:29

instrucción porque quiero que utilicemos

play09:31

ahora nuestra tabla de empleados para

play09:34

otro ejemplo práctico con procedimientos

play09:37

almacenados vamos a realizar Entonces el

play09:40

siguiente ejercicio aquí yo tengo un

play09:42

campo que dice cantidad hijos digamos

play09:44

que yo tengo la instrucción de aplicar

play09:47

una bonificación a todos los empleados

play09:49

que tienen de tres hijos y que en caso

play09:53

de que haya empleados que no tengan más

play09:55

de tres hijos pues estos empleados no

play09:58

van a recibir bonificación especial como

play10:00

yo puedo cumplir con este requerimiento

play10:02

preparando un procedimiento pues

play10:04

simplemente vamos a colocar aquí la

play10:06

instrucción create

play10:08

voy a llamar al mío p-

play10:11

bonificación aquí debajo voy a colocar

play10:14

as y voy a abrir mi primer bloque de

play10:18

sentencias porque esto requiere una

play10:20

analítica hay que ejecutar una función

play10:22

condicional por lo tanto debo colocar

play10:24

begin y aquí coloco mi If exists abro

play10:27

paréntesis y ejecuto mi consulta

play10:29

análisis tráeme todos los registros de

play10:32

mi tabla empleados

play10:36

en donde cantidad de hijos sea mayor a 3

play10:40

cierro paréntesis y ya aquí tengo la

play10:43

evaluación de mi condicional si aparece

play10:45

algún valor pues entonces aquí vamos a

play10:47

hacer lo siguiente vamos a colocar ahora

play10:48

un nuevo bloque de sentencias qué estoy

play10:51

haciendo aquí Esto es lo que se conoce

play10:53

en programación de base de datos como

play10:55

bloques anidados ya yo tengo un bloque

play10:57

aquí pero estoy colocando un bloque

play10:59

dentro de otro bloque una sección de

play11:01

ejecución dentro de otra Entonces este

play11:03

segundo bloque aquí va a tener ahora una

play11:06

función que vamos a hacer Aquí vamos a

play11:07

colocar por ejemplo update y voy a

play11:10

colocar aquí ahora mi tabla empleados

play11:12

voy a colocar entonces set sueldo igual

play11:15

a el mismo campo sueldo por un digamos

play11:19

por ejemplo 0.20 Esto va a actualizar la

play11:22

tabla empleados Estableciendo en el

play11:24

campo sueldo con un aumento de un 20%

play11:26

entonces aquí debajo vamos a colocar

play11:28

algo nuevo que no habíamos visto en sql

play11:31

server que es la función print que nos

play11:33

trae salida de datos por consola un aquí

play11:36

colocó una comilla y voy a colocar lo

play11:39

siguiente se ha aplicado la bonificación

play11:44

y cierro comillas punto y coma más

play11:47

adelante vamos a explicar todo esto aquí

play11:50

debajo ahora voy a colocar un end para

play11:53

indicar que ya finalizó mi primer bloque

play11:56

fíjense como al colocar en el sistema

play11:58

automáticamente sombrea mi encabezado de

play12:00

bloque tipo Beijing aquí ahora debo

play12:02

colocar un Else porque estoy utilizando

play12:04

aquí un If es una condicional significa

play12:07

que debe pasar una cosa o debe pasar

play12:10

otra por lo tanto Aquí voy ahora a

play12:12

colocar de nuevo un bloque de ejecución

play12:15

porque voy a colocar de nuevo mi función

play12:18

print con un mensaje que diga no hay

play12:21

empleados con más de tres hijos que es

play12:26

el requerimiento que se me estaba

play12:27

pidiendo y aquí ahora pues colocó el

play12:29

cierre de este bloque ya sólo me queda

play12:32

cerrar mi bloque principal que está aquí

play12:35

arriba por lo tanto para temas de

play12:37

intención lo voy a colocar aquí atrás y

play12:39

colocó end punto y coma vamos a ver aquí

play12:42

selecciono ejecuto el sistema me dice

play12:45

que el comando se ejecutó correctamente

play12:47

despliego aquí hago un refresh de nuevo

play12:50

vuelvo a mi carpeta de Procedimientos

play12:52

almacenados y aquí está Pay bonificación

play12:55

vamos a explicar qué es lo que he hecho

play12:56

aquí cree un procedimiento que se llama

play12:58

bonificación qué va a hacer primero va a

play13:01

ejecutar una analítica y va a verificar

play13:04

si existen empleados con más de tres

play13:07

hijos seleccióname de la tabla empleados

play13:09

cualquier registro en donde la cantidad

play13:11

de hijos sea mayor a tres luego va a

play13:13

abrir un segundo bloque de ejecución y

play13:16

va a ser una actualización a esa tabla

play13:19

Estableciendo el sueldo de esos

play13:21

empleados de aquí con un aumento del 20%

play13:24

entonces luego nos va a traer un mensaje

play13:27

que va a decir se ha aplicado la

play13:29

bonificación aquí colocó un en Porque

play13:32

aquí tengo una ejecución de update más

play13:34

un pri este print es una función que

play13:37

necesita su bloque vamos a llamarle

play13:40

privado para trabajar no se puede

play13:42

colocar un print por ejemplo dentro de

play13:44

un único bloque en este caso tenemos que

play13:47

crear un bloque anidado específicamente

play13:49

para el print entonces aquí si se

play13:52

actualiza el sueldo de los empleados que

play13:54

tienen más de tres hijos me va a traer

play13:55

un mensaje que dice se ha aplicado la

play13:57

bonificación cierro ese bloque y luego

play13:59

colocó Else para en caso de que esto no

play14:03

se cumpla Recuerden que esto es If exist

play14:05

es decir si esto se cumple tienes que

play14:08

hacer esto pero si no se cumple es lo

play14:10

que hace leals pues entonces abro mi

play14:12

bloque que necesita como les dije la

play14:14

función print su bloque personal abro su

play14:17

pequeño bloque y ahora coloco print no

play14:19

hay empleados con más de tres hijos y

play14:21

luego termino de cerrar mi bloque

play14:23

principal vamos ahora a ejecutar nuestro

play14:25

procedimiento p bonificación Nos vamos

play14:28

aquí debajo colocamos

play14:30

bonificación punto y coma seleccionamos

play14:32

cuando yo ejecuto fíjense lo que aquí

play14:36

Viene un mensaje que dice no hay

play14:38

empleados con más de tres hijos Qué

play14:40

significa esto que aquí lo que se cumple

play14:42

en la condicional es el no se cumple

play14:46

esta condición se cumple esto es decir

play14:49

el sistema verifica si hay empleados con

play14:51

más de tres hijos como no los hay no se

play14:53

cumple eso lo que se cumple es el es

play14:56

decir otro caso cualquiera que no sea

play14:58

ese por lo tanto lo que yo le dije aquí

play15:00

es que si no se cumple me traiga un

play15:02

mensaje que diga no hay empleados con

play15:04

más de tres hijos y aquí está nuestro

play15:06

mensaje en resumen en la empresa nadie

play15:08

se lleva bonificación Entonces lo vamos

play15:11

a dejar hasta aquí por el momento para

play15:13

no extendernos tenemos más cosas que ver

play15:17

de Procedimientos almacenados es un eh

play15:19

tema un poco extenso pero muy muy

play15:22

interesante y muy útil vamos a seguir

play15:24

más adelante trabajando con

play15:25

procedimientos almacenados vamos a ver

play15:27

cómo actualizarlos vamos a ver con

play15:29

Cuáles otras funciones yo puedo trabajar

play15:31

en un procedimiento almacenado y vamos a

play15:33

ver cómo eliminarlos por el momento lo

play15:35

dejamos hasta aquí nos vemos en una

play15:37

siguiente entrega hasta la próxima

Rate This

5.0 / 5 (0 votes)

関連タグ
SQL ServerProcedimientosAlmacenadosTareasRepetitivasGestiónDatosProgramaciónCondicionalesBloques
英語で要約が必要ですか?