Want to create interactive content? It’s easy in Genially!

Get started free

SQL Procedural

ZCarlos Moriancumer Matías Morales

Created on December 8, 2023

SQL PLUS

Start designing with a free template

Discover more than 1500 professional designs like these:

Visual Presentation

Terrazzo Presentation

Colorful Presentation

Modular Structure Presentation

Chromatic Presentation

City Presentation

News Presentation

Transcript

SQL Procedural

Materia: Taller de base de datos.

  • Adriana Delgadillo Cadena
  • Jesus David Contreras Gutierres.
  • Antonio Jireth Gusman Mejia.
  • Carlos Moriancumer Matias Morales.

STORED PROCEDURES

Un procedimiento almacenado o STORED PROCEDURE es un código SQL preparado que puede guardar, por lo que el código puede reutilizarse una y otra vez. Entonces, si tiene una consulta SQL que escribe una y otra vez, guárdela como un procedimiento almacenado y luego llámela para ejecutarla.

01

Sintaxis de procedimientos almacenados.

Sintaxis para crear un procedimiento almacenado o STORED PROCEDURE.

CREATE PROCEDURE nombre_procedimiento AS sql_statement GO;

01

Ejecutar un procedimiento almacenado. contenido

La sintaxis para ejecutar el procedimiento almacenado. EXEC nombre_procedimiento; Ejemplo de procedimiento almacenado: La siguiente declaración SQL crea un procedimiento almacenado llamado "Todos_Clientes" que selecciona todos los registros de la tabla "Clientes": CREATE PROCEDURE Todos_Clientes AS SELECT * FROM Clientes GO; EXEC Todos_Clientes; (para ejecutarlo)

Procedimiento almacenado con un parámetro.

La siguiente declaración SQL crea un procedimiento almacenado que selecciona a los clientes de una ciudad en particular de la tabla "Clientes":

CREATE PROCEDURE Todos_Clientes @Ciudad nvarchar(30) AS SELECT * FROM Clientes WHERE Ciudad = @Ciudad GO; EXEC Todos_Clientes Ciudad = 'Bogotá'; (para ejecutarlo)

Procedimiento almacenado con múltiples parámetros

La siguiente declaración SQL crea un procedimiento almacenado que selecciona Clientes de una Ciudad en particular con un Código Postal en particular de la tabla "Clientes":

CREATE PROCEDURE Todos_Clientes @Ciudad nvarchar(30), @CodigoPostal nvarchar(10) AS SELECT * FROM Clientes WHERE Ciudad = @Ciudad AND CodigoPostal = @CodigoPostal GO; EXEC Todos_Clientes Ciudad = 'Bogotá', Código_Postal = 45350; (para ejecutar)

Funciones

2.COALESCE SQL

1.CAST SQL

EJEMPLO

EJEMPLO:

Por ejemplo, si tienes una columna de tipo FLOAT y deseas convertirla a un tipo de datos INT, puedes usar CAST() de la siguiente manera: SELECT CAST('23.4') AS INT; En este caso, la función CAST() convierte la columna a un tipo de datos INT (entero) en la consulta resultante.

ESELECT COALESCE(NULL, NULL, NULL, 'thedataschools.com', NULL, 'ejemplo.com') ; Devuelve el primer valor no nulo en una lista. SELECT COALESCE(NULL, '1', '2', 'thedataschools.com') ; Devuelve el primer valor no nulo de una lista.

La función COALESCE() en SQL devuelve el primer valor no nulo de una lista. Sintaxis COALESCE(val1, val2, ...., val_n)

Sintaxis CAST(expresion AS datatype(length)).

FUNCIONES.

4.CURRENT_USER SQL

3. CONVERT SQL

EJEMPLO

EJEMPLO

NLa función CURRENT_USER en SQL devuelve el nombre del usuario actual en la base de datos de SQL Server. Sintaxis CURRENT_USER

La función CONVERT() en SQL convierte un valor (de cualquier tipo) en un tipo de datos especificado. Sintaxis CONVERT(data_type(length), expresión, estilo)

SELECT CURRENT_USER; Devuelve el nombre del usuario actual en la base de datos de SQL Server.

SELECT CONVERT(INT,'23.45') AS DateAdd; Convierta una expresión a INT.

FUNCIONES.

EJEMPLO

EJEMPLO

SELECT ISNULL(NULL, 'thedataschools.com'); Devuelve el valor especificado SI la expresión es NULL; de lo contrario, devuelve la expresión. SELECT ISNULL(NULL, 500); Devuelve el valor especificado SI la expresión es NULL; de lo contrario, devuelve la expresión.

6.ISNULL SQL

5.IIF SQL

SELECT IFF(500 < 1000, 5, 10); Devuelva 5 si la condición es VERDADERA, o 10 si la condición es FALSA. SELECT IFF('Hola' = 'Ciao', 'Sí', 'No'); Pruebe si dos cadenas son iguales y devuelva "SÍ" si lo son, o "NO" si no lo son. SELECT IFF(20 > 10, 'Mayor', 'Menor'); Devuelve "Mayor" si la condición es VERDADERA, o "Menor" si la condición es FALSA

La función ISNULL() en SQL devuelve un valor especificado si la expresión es NULL. Si la expresión NO es NULL, esta función devuelve la expresión. Sintaxis ISNULL(expresión, valor)

La función IIF() en SQL devuelve un valor si una condición es VERDADERA, u otro valor si una condición es FALSA. Sintaxis IIF(condición, valor_if_true, valor_if_false)

FUNCIONES.

8.SESSION_USER SQL

7.ISNUMERIC SQL

EJEMPLO.

EJEMPLO

La función ISNUMERIC() en SQL comprueba si una expresión es numérica. Esta función devuelve 1 si la expresión es numérica, de lo contrario devuelve 0. Sintaxis ISNUMERIC(expresión)

.SELECT ISNUMERIC('6789'); Comprueba si la expresión es numérica. SELECT ISNUMERIC('Hola Mundo'); Comprueba si la expresión es numérica.

La función SESSION_USER en SQL devuelve el nombre del usuario actual en la base de datos de SQL Server. Sintaxis SESSION_USER

SELECT SESSION_USER;

¿Qué es un TRIGGER SQL?

Un TRIGGER, también conocido como disparador, es una especie de script de programación SQL para base de datos. Los TRIGGER son procedimientos que se ejecutarán según nuestras indicaciones cuando se realicen operaciones sobre la información de la base de datos. Estas operaciones pueden ser de actualización (UPDATE), inserción (INSERT) y borrado (DELETE).

¿Para qué sirve un TRIGGER SQL?

Los TRIGGERS son una de las funcionalidades más útiles de las que disponemos cuando diseñamos y mantenemos bases de datos. Gracias a ellos podremos implementar ciertas características de nuestra base de datos sin necesidad de desarrollar programación en otros lenguajes externos.

Cómo crear TRIGGER SQL

Crear un TRIGGER con SQL es sencillo, casi todos los sistemas de bases de datos (SGBD) están preparados para ello, e incluso algunos pueden incorporar un asistente que nos guie en el proceso. A continuación voy a explicarte como crearlo paso a paso, verás como en 5 minutos serás capaz de crear tu primer TRIGGER.

Estructura de un trigger

DELIMITER $$ CREATE TRIGGER trigger_historico AFTER INSERT ON usuario FOR EACH ROW BEGIN //líneas de código SQL que se ejecutarán END; $$

EJEMPLO

Vamos a resolver un TRIGGER que nos permita mantener una copia de todos los clientes que se inserten en una base de datos de una tienda online. Para esto tendremos dos tablas: cliente y cliente_historico. Así, el siguiente TRIGGER insertará toda la información del cliente (nombre, dni, direccion) más una columna extra: fecha_registro. DELIMITER $$ CREATE TRIGGER trigger_cliente_historico AFTER INSERT ON cliente FOR EACH ROW BEGIN INSERT INTO cliente_historico(nombre, dni, direccion) VALUES (NEW.nombre, NEW.dni, NEW.direccion, CURDATE()); END; $$

🎥

CONCLUSIONES.

En SQL procedural, los procedimientos almacenados son programas reutilizables que constan de sentencias SQL conformadas como si se tratara de la función de un lenguaje estructurado como C o Pascal. Los procedimientos almacenados y los triggers, son una serie de sentencias SQL que se hallan precompiladas y optimizadas para que su ejecución sea mucho más rápida que el conjunto de sentencias individuales que los integran, además se pueden almacenar en el servidor y al ser ejecutados directamente en el motor de bases de datos generan múltiples beneficios como optimización de espacio, reducción de errores, evitan la repetición de código, entre otras. Los procedimientos almacenados permiten mejorar el rendimiento de las bases de datos y al mismo tiempo automatizan el proceso de actualización de los datos siguiendo las decisiones y procesos de negocios.

Referencias.

WoW

  • https://view.genial.ly/64472ed762fada0018c6fd0e/interactive-content-mapa-conceptual-sql-procedural
  • https://tigger.itc.mx/conacad/cargas/GAFR590328RX9/55/Unidad_VII_sql_procedural.pdf
  • https://thedataschools.com/sql/isnull/
  • https://www.srcodigofuente.es/aprender-sql/triggers-sql