Transact SQL
Un procedimiento es un programa dentro de la base de datos que ejecuta una acción o conjunto de acciones específicas.
Un procedimiento tiene unnombre, un conjunto de parámetros (opcional) y un bloque de código.
En Transact SQL los procedimientos almacenados pueden devolver valores (numérico entero) o conjuntos de resultados.
Para crear un procedimiento almacenado debemos emplear la sentencia CREATE PROCEDURE.
CREATE PROCEDURE [@param1 , ...]
AS
-- Sentencias del procedure
Para modificar un procedimiento almacenadodebemos emplear la sentencia ALTER PROCEDURE.
ALTER PROCEDURE [@param1 , ...]
AS
-- Sentencias del procedure
El siguiente ejemplo muestra un procedimiento almacenado, denominadoinsertaEmpleado que inserta una fila en la tabla "empleados".
CREATE PROCEDURE pr_insertaEmpleado
@nemp int,
@nombre varchar(10),
@apellido varchar(10),
@sueldo numeric(6,2),@ventas numeric(6,2)= 0,
@fechaAlta datetime,
@nDep int
AS
BEGIN
INSERT INTO empleados
(nEmp,nombre, apellido, fe_alta, sueldo, ventas, ndep) VALUES
(@nemp,@nombre, @apellido,@fechaAlta,@sueldo, @ventas, @nDep)
END
Para la ejecutar un procedimiento almacenado debemos utilizar la sentencia EXEC. Cuando la ejecución del procedimiento almacenado es la primerainstrucción del lote, podemos omitir el uso de EXEC.
El siguiente ejemplo muestra la ejecución del procedimiento almacenado anterior.
DECLARE @fechaAlta datetime
set @fechaAlta = convert(datetime,'04/05/2010', 103)
EXEC pr_insertaEmpleado 40,'Pedro', 'Herrarte', 1200.00, 2340, @fechaAlta, 1
Siempre es deseable que las instrucciones del procedimiento estén dentro de un bloque TRY CATCH ycontrolados por una transacción.
ALTER PROCEDURE pr_insertaEmpleado
@nemp int,
@nombre varchar(10),
@apellido varchar(10),
@sueldo numeric(6,2),
@ventas numeric(6,2)= 0,...
Regístrate para leer el documento completo.