Base de datos

Solo disponible en BuenasTareas
  • Páginas : 2 (377 palabras )
  • Descarga(s) : 4
  • Publicado : 16 de mayo de 2010
Leer documento completo
Vista previa del texto
“AÑO DE LA UNIÓN NACIONAL FRENTE A LA CRISIS EXTERNA”

FACULTAD:
INGENIERÍA

CARRERA:
INGENIERÍA DE SISTEMAS

DOCENTE:
IVAN CORTIJO ALFARO

CURSO:
BASE DE DATOS

TEMA:
TRIGGERALUMNO:
LOCK PAZ ARTURO

CICLO:
V

TRIGGER CUANDO SE DESPIDE UN PERSONAL
Create Trigger TGR_DespidoPersonal
On Personal
For Delete
As
Begin
Declare @x int
Declare @y int

Set @x=(SelectIdCargo From Deleted)
Update Cargo
Set CantidadPersonal=CantidadPersonal-1
Where IdCargo=@x

Set @y=(Select IdArea From CARGO Where IdCargo=@x)

UPDATE AREA
SETCantidadPersonal=CantidadPersonal -1
WHERE IdArea=@y
End
TRIGGER CUANDO SE CAMBIA DE CARGO A UN PERSONAL
Create Trigger TGR_CambioCargo
On Personal
For Update
As
Begin
Declare @x int
Declare @y int

Set@x=(Select IdCargo From Inserted)
Update Cargo
Set CantidadPersonal=CantidadPersonal+1
Where IdCargo=@x

Set @y=(Select IdArea From CARGO Where IdCargo=@x)

UPDATE AREA
SETCantidadPersonal=CantidadPersonal +1
WHERE IdArea=@y

Set @x=(Select IdCargo From Deleted)
Update Cargo
Set CantidadPersonal=CantidadPersonal-1
Where IdCargo=@x

Set @y=(Select IdArea From CARGO WhereIdCargo=@x)

UPDATE AREA
SET CantidadPersonal=CantidadPersonal -1
WHERE IdArea=@y
End

ELIMINAR AREA DEL LEVEL II
Create Procedure pa_EliminarArea
@IdArea int
AS
Begin
Declare @FA intSelect IdArea From Area Where IdArea=@IdArea
Set @FA=@@RowCount
If @FA>0
begin
Delete Area Where IdArea=@IdArea
print 'Operación Existosa'
end
Else
begin
print 'OperaciónIncorrecta'
end
End

Exec pa_EliminarArea 7

MODIFICAR AREA DEL LEVEL III
Create Procedure pa_ModificarArea
@IdArea int,
@Nombre varchar(30),
@CantidadPersonal int,
@sw int Output
As
BeginDeclare @FA int
Select IdArea From Area Where IdArea=@IdArea
Set @FA=@@RowCount
If @FA>0
begin
Update Area
Set Nombre = @Nombre,
CantidadPersonal=@CantidadPersonal
Where...
tracking img