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
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:
View
Visual Presentation
View
Terrazzo Presentation
View
Colorful Presentation
View
Modular Structure Presentation
View
Chromatic Presentation
View
City Presentation
View
News Presentation
Explore all templates
Transcript
SQL Procedural
Materia: Taller de base de datos.
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