---
# System prepended metadata

title: Procedimientos y funciones
tags: [Bases de datos]

---

# 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)
