Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Datos
Profesor:
MSC Luis Serna Jherry
Funciones,
Procedimientos
Almacenados,
Disparadores Triggers
Profesor:
MS. Luis Serna Jherry
Contenido
Que es un Stored
Procedure.
Que es un Trigger
Implementando una
Funcin
Tipos de funciones
Scalar Functions
Tipo de dato
de retorno
Cuerpo
Opciones
Tabled-Value Functions
Cuerpo
-- Ejecucin
SELECT dbo.PedidosPorProveedor('0010')
Funciones Deterministicas y
No Deterministicas
Funciones No Deterministicas:
retorna diferentes valores de resultado
cada vez que se les llaman.
Ejemplo la funcin GetDate().
Implementando un Stored
Procedure
Sintaxis de un Stored
Procedure
CREATE PROC [ EDURE ] nombre
[ { @parametros tipo_dato }[ = valor por defecto ] [ OUTPUT ]]
[,...n ]
[ WITH { RECOMPILE | ENCRYPTION | RECOMPILE ,
ENCRYPTION } ]
[ FOR REPLICATION ]
AS instrucciones sql [ ...n ]
-- Ejecucin
exec dameProveedores;
Ejemplo procedimiento
con parmetros
CREATE PROCEDURE upd_precio_articulo @ipc numeric(3,2)
AS
BEGIN TRANSACTION
update articulos set preunart = preunart +
(preunart*@ipc/100)
where preunart is not null
if @@ERROR <> 0 GOTO on_error
on_error:
begin
ROLLBACK TRANSACTION
RAISERROR ('No se han modificado los precios,16,1)
end
fin:
Go
-- Ejecucin
exec upd_precio_articulo 3.2
Asignacin de permisos a un
Stored Procedure
Implementando Triggers
Es una implementacin de
Transacciones-SQL o un proceso batch
que responde a un evento dentro de la
base de datos.
Existen 2 tipos:
DML Triggers
Ejemplo No pedir un
artculo descatalogado
DDL Triggers
Ejemplo Notificar si el
stock alcanza el mnimo
establecido
CREATE TRIGGER tr_articulos ON articulos
FOR UPDATE
AS BEGIN
IF UPDATE (stockart) BEGIN
INSERT INTO eventos (fecha, motivo)
SELECT getdate(), 'Stock minimo alcanzado ' +
codigart
FROM inserted
WHERE stockart<=stockmin
END
END
Eliminacin
Para eliminar objetos que existan en la
base de datos, Su sintaxis es:
DROP { TABLE nombre |
INDEX nombre |
VIEW nombre |
TRIGGER nombre |
RULE nombre |
DATABASE nombre |
PROCEDURE nombre |
FUNCTION nombre |
.... Otros objetos .. }