Mis ejemplos propuestos BD Brigadas
Trigger
/*crear un tirgger para que cada vez
que se incluya un medicamento en una brigada, se reste la cantidad usada de la
cantidad del medicamento*/
Create Trigger tr_medicamento_usado
on bri_med
for insert
as update medicamento
set medicamento.cantidad = medicamento.cantidad
- inserted.canti_utilizada
from medicamento
inner join inserted on medicamento.cod_med = inserted.cod_med
Vista:
/*Mostrar los proyectos donde haya mas de 5 brigadas*/
Crate View v_proyecto
as
Select *
From proyecto
inner join brigada on proyecto.cod_proy = brigada.cod_proy
group by proyecto.cod_proy
having count(brigada.*)
> 5
Procedimiento Almacenado:
/*crear un SP que
filtre los empleados por un valor de salario ingresado por le usuario*/
Create Procedure Pr_empl_salario
@salario int
As
Select *
From empleado
When salario > @salario
Funcion:
/*crear una Funcion
escalar que devuelva el numero de medicamentos diferentes usadose n un
proyecto dado*/
Create Fucntion func_proy_num_medicamentos
(@cod_proy int)
returns int
as
return(
Select count(*)
from medicamentos
inner join bri_med on medicamentos.cod_med = bri_med.cod_med
inner join brigada on bri_med.cod_bri = brigada.cod_bri
inner join proyecto on brigada.cod_proy = proyecto.cod_proy
When proyecto.cod_proy = @cod_proy
)
Seguridad
Crear un nuevo login con el
ingreso a la base de Datos Brigada con el rol de DataReader y que pueda
ingresar nuevos datos y editar datos en la tabla medicamentos
/*creamos el login y el password del usuario*/
create login login_Brigada
with password ='123456'
/*creamos el usuario y le asignamos el login ya
creado*/
GO
create USER user_Brigadda for login login_Brigada
GO
/*le asignamos el rol db_datareader pueden leer
todos los datos de todas las tablas de usuario pero no modificarlos*/
GO
exec sp_addrolemember
'db_datareader',
'user_Brigada';
GO
Comentarios
Publicar un comentario