# Procedimientos y funciones SQL **Programa académico:** Ing. de Sistemas **Nombre del curso:** Bases de Datos II **Nombre Completo:** Santiago Nieto **Código:** S6B2025 **Fecha:** 10/11/2023 ## Ejemplo 1 ```sql CREATE PROCEDURE Saludar AS PRINT 'Hola, Como estas?'; ``` ![image](https://hackmd.io/_uploads/Byqesf6Qp.png) ```sql EXECUTE Saludar; ``` ![image](https://hackmd.io/_uploads/H1INjz6XT.png) ## Ejemplo 2 ```sql create procedure Proce_Nombre @Nombre varchar(50) as BEGIN select nombre,domicilio from editoriales where nombre = @Nombre; END ``` ![image](https://hackmd.io/_uploads/ryZkTMaQT.png) ```sql execute Proce_Nombre 'Paidos'; ``` ![image](https://hackmd.io/_uploads/B1sSTGTQT.png) ## Ejemplo 3 ```sql CREATE PROCEDURE spu_addCliente @PriNombre varchar(100), @SegNombre varchar(100), @Apellidos varchar(100), @Direccion varchar(20), @fec_nacimiento date AS INSERT INTO CLIENTES(PriNombre,SegNombre,Apellidos,DIRECCION,fec_nacimiento) VALUES (@Prinombre,@SegNombre,@Apellidos,@Direccion,@fec_nacimiento) ``` ![image](https://hackmd.io/_uploads/rk5_kXTQT.png) ```sql DECLARE @fec_nacimiento datetime set @fec_nacimiento = convert(datetime,'29/12/1976',103) EXEC spu_addCliente 'David','Sarmiento','Cervantes','00000002323',@fec_nacimiento ``` ![image](https://hackmd.io/_uploads/ryjulXaQ6.png) ```sql! select * from CLIENTES; ``` ![image](https://hackmd.io/_uploads/BJd5e7pQa.png) ## Ejemplo 4 ```sql CREATE PROCEDURE spu_ObtenerPrecioLibro @codigoLib int AS BEGIN SELECT titulo,precio FROM libros WHERE codigo_lib = @codigoLib END ``` ![image](https://hackmd.io/_uploads/HkqZMQ67a.png) ```sql execute spu_ObtenerPrecioLibro '9'; ``` ![image](https://hackmd.io/_uploads/rkl6zQama.png) ## Ejemplo 5 ```sql CREATE PROCEDURE spu_EstaCaro @codigoLib varchar(20) AS BEGIN IF ( SELECT precio FROM libros WHERE codigo_lib = @codigoLib)<20 BEGIN PRINT 'ESTA CARO' END ELSE PRINT 'ESTA BARATO' END ``` ```sql execute spu_EstaCaro '9'; ``` ![image](https://hackmd.io/_uploads/Hktj4XTX6.png)