Sie sind auf Seite 1von 21

BASE DE DATOS

Profesores del Curso 2015 I

Logro
Al trmino de la unidad, el alumno
implementa instrucciones SQL y de
programacin mediante procedimientos
almacenados
para
optimizar
las
operaciones en la base de datos.

Procedimientos almacenados
utilizando una tabla
Curso: Base de Datos (Lab)
Equipo de Profesores del Curso

Temario
Introduccin a TSQL
Variables (Tipo)
Procedimientos Almacenados

VARIABLES
Una variable es una entidad a la que se asigna un
valor. Este valor puede cambiar durante el
proceso donde se utiliza la variable. SQL Server
tiene dos tipos de variables: locales y globales.
Las variables locales estn definidas por el
usuario, mientras que las variables globales las
suministra el sistema y estn predefinidas.

VARIABLES LOCALES
Las variables locales se declaran, nombran y
escriben mediante la palabra clave declare, y
reciben un valor inicial mediante una instruccin
select o set.
Los nombres de las variables locales deben
empezar con el smbolo @. A cada variable
local se le debe asignar un tipo de dato definido
por el usuario o un tipo de dato suministrado por
el sistema distinto de text, image o sysname.

VARIABLES LOCALES
Sintaxis
--declara una variable
Declare @variable <tipo de dato>
-- asigna valor a una variable
Set @variable= valor

VARIABLES LOCALES
Ejemplo 1
declare @precio money
Set @precio = 50
SELECT * FROM Productos
WHERE precioUnidad > @precio
Go

Ejemplo 2
declare @precio1 money, @precio2 money
Set @precio1= 10
Set @precio2= 50
SELECT * FROM Productos
WHERE precioUnidad BETWEEN @precio1 AND @precio2

Go

PROCEDIMIENTOS
ALMACENADOS
Los procedimientos almacenados son grupos
formados por instrucciones SQL y el lenguaje de
control de flujo. Cuando se ejecuta un
procedimiento, se prepara un plan de ejecucin
para que la subsiguiente ejecucin sea muy
rpida.

PROCEDIMIENTOS
ALMACENADOS
Los procedimientos almacenados pueden:

Incluir parmetros
Llamar a otros procedimientos
Devolver un valor de estado a un procedimiento de
llamada o lote para indicar el xito o el fracaso del
mismo y la razn de dicho fallo.
Devolver valores de parmetros a un procedimiento
de llamada o lote
Ejecutarse en SQL Server remotos

PROCEDIMIENTOS
ALMACENADOS
Los procedimientos almacenados se crean con
CREATE PROCEDURE. Para ejecutar un
procedimiento
almacenado,
ya
sea
un
procedimiento del sistema o uno definido por el
usuario, use el comando EXECUTE. Tambin,
puede utilizar el nombre del procedimiento
almacenado solo, siempre que sea la primera
palabra de una instruccin o lote.

PROCEDIMIENTOS
ALMACENADOS
La sintaxis
almacenado:

para

crear

un

procedimiento

CREATE PROCEDURE <Procedure_Name>


-- Aadir parmetros al procedimiento almacenado
<@Param1> <Datatype_For_Param1> =
<Default_Value_For_Param1>,
<@Param2> <Datatype_For_Param2> =
<Default_Value_For_Param2>
AS
BEGIN
-- Insertar la sentencia para el procedimiento
Sentencia SQL
END
GO

PROCEDIMIENTOS
ALMACENADOS
La sintaxis para modificar un procedimiento
almacenado:
ALTER PROCEDURE NOMBRE_PROCEDIMIENTO
<@Param1> <Datatype_For_Param1> = <Default_Value_For_Param1>,
<@Param2> <Datatype_For_Param2> = <Default_Value_For_Param2>
AS
CONSULTA_SQL

PROCEDIMIENTOS
ALMACENADOS
La sintaxis para
almacenado:

eliminar

un

DROP PROCEDURE NOMBRE_PROCEDIMIENTO

procedimiento

PROCEDIMIENTOS
ALMACENADOS
Ejemplo 1: Crear un procedimiento almacenado
que liste los clientes de tipo 2.
--procedimiento almacenado
CREATE PROCEDURE usp_Clientes
@tipo char(1)
AS
Select idcliente , nombreCia, Direccion, Telefono
From clientes
Where tipoCli = @tipo
Go

Para ejecutar el procedimiento almacenado


--ejecutando el procedimiento almacenado
EXEC usp_clientes 2
go

PROCEDIMIENTOS ALMACENADOS
Ejemplo 2: Cree un procedimiento almacenado que
realizamos la consulta de pedidos entre un rango de dos
fechas.
CREATE PROCEDURE usp_PedidosxFechas
@f1 Date,
@f2 Date
AS
Select *
From pedidoscabe
Where FechaPedido BETWEEN @f1 AND @f2
Go
--ejecutando el procedimiento almacenado
EXEC usp_PedidosxFechas 1/1/2013 , 14/02/2013
go

PROCEDIMIENTOS ALMACENADOS
La sentencia ALTER PROCEDURE permite modificar el
contenido del procedimiento almacenado, en este
procedimiento realizamos la consulta de pedidos entre un
rango de dos fechas.
ALTER PROCEDURE usp_PedidosbyFechas
@f1 Date, @f2 Date , @codCli int
AS
Select *
From pedidoscabe
Where FechaPedido BETWEEN @f1 AND @f2
AND codCli = @codCli
Go

MODIFICAR DATOS CON


PROCEDURES
Los procedimientos almacenados pueden aceptar
datos como parmetros de entrada y pueden
devolver datos como parmetros de salida,
conjuntos de resultados o valores de retorno.
Adicionalmente, los procedimientos almacenados
pueden ejecutar sentencias de actualizacin de
datos: INSERT, UPDATE, DELETE

MODIFICAR DATOS CON


PROCEDURES
Defina un procedimiento almacenado para insertar
un registro de la tabla Clientes, en este
procedimiento definiremos parmetros de entrada
que representan los campos de la tabla.
CREATE PROCEDURE usp_InsertaCliente
@id varchar(5),
@nombre varchar(50),
@direccion varchar(100),
@idpais char(3),
@fono varchar(15)
AS
Insert Into clientes(IdCliente, NomCliente, Direccion,idpais, Telefono)
Values(@id, @nombre, @direccion, @idpais, @fono)
Go

MODIFICAR DATOS CON


PROCEDURES
Al ejecutar el procedimiento almacenado, se
enviar la lista de los parmetros definidos en el
procedimiento.
EXEC usp_InsertaCliente 'ABCDE', 'JUAN CARLOS MEDINA',
'Calle 25 No 123','006','5450555'

Go

FIN DE LA
SESION
Gracias....

21

Das könnte Ihnen auch gefallen