Sunteți pe pagina 1din 7

Emperatriz Ruiz Quilcat

use planillas

go

CREATE TABLE AREAS(

CODAREA CHAR(4) PRIMARY KEY,

NOMAREA VARCHAR(30) NOT NULL)

GO

INSERT INTO AREAS VALUES('A001', 'SISTEMAS')

INSERT INTO AREAS VALUES('A002', 'VENTAS')

INSERT INTO AREAS VALUES('A003', 'CONTABILIDAD')

GO

CREATE TABLE CARGOS(

CODCAR CHAR(4) PRIMARY KEY,

NOMCAR VARCHAR(30)NOT NULL)

GO

INSERT INTO CARGOS VALUES ('C001', 'ANALISTA')

INSERT INTO CARGOS VALUES ('C002', 'PROGRAMADOR')

INSERT INTO CARGOS VALUES ('C003', 'JEFE DE VENTAS')

INSERT INTO CARGOS VALUES ('C004', 'VENDEDOR ')

INSERT INTO CARGOS VALUES ('C005', 'CONTADOR')

GO

CREATE TABLE EMPLEADOS(

CODEMP CHAR(4) PRIMARY KEY,

IDAREA CHAR(4) FOREIGN KEY REFERENCES AREAS(CODAREA),

IDCARGO CHAR (4)FOREIGN KEY REFERENCES CARGOS(CODCAR),

APELLIDO VARCHAR (30)NOT NULL,

SUELDO DECIMAL (7,2)NOT NULL)


Emperatriz Ruiz Quilcat

GO

SELECT*FROM AREAS

SELECT * FROM CARGOS

SELECT*FROM EMPLEADOS

GO

--PROCEDIMIENTOS ALMACENADOS

CREATE PROC MUESTRA_AREAS

AS

SELECT NOMAREA FROM AREAS ORDER BY NOMAREA ASC

GO

CREATE PROC MUESTRA_CARGOS

AS

SELECT NOMCAR FROM CARGOS ORDER BY NOMCAR ASC

GO

--P.A GRABAR EMPLEADO

create proc graba_empleado

@cod char(4),@nomarea varchar(30),@nomcargo varchar(30),@ape varchar(30),@sue


decimal(7,2)

as

if exists (select name from sysobjects where name = 'empleados' and type='U')

begin

if not exists (select * from empleados where codemp = @cod)

begin

--exite tabla pero no existe codigo

declare @codarea char(4),@codcar char(4)


Emperatriz Ruiz Quilcat

set @codarea=(select codarea from areas where nomarea=@nomarea)

set @codcar=(select codcar from cargos where nomcar=@nomcargo)

insert into empleados values(@cod,@codarea,@codcar,@ape,@sue)

select 1

end

else

select 2

end

else

--print 'no existe la tabla empleados'

select 3

GO

--P.A ELIMINA EMPLEADO

CREATE PROC ELIMINA_EMPLEADO

@COD CHAR(4)

AS IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE NAME ='EMPLEADOS' AND TYPE ='U')

BEGIN

IF EXISTS (SELECT * FROM EMPLEADOS WHERE CODEMP=@COD)

BEGIN

DELETE FROM EMPLEADOS WHERE CODEMP=@COD

SELECT 1

END

ELSE

SELECT 2

END
Emperatriz Ruiz Quilcat

ELSE

SELECT 3

ALTER PROC MODIFICA_EMPLEADO --ALTER MODIFICA LOS PROCEDMIENTOS

@COD CHAR(4), @NOMAREA VARCHAR(30), @nomcargo varchar(30),@APE VARCHAR (30), @SUE


DECIMAL (7,2)

AS

IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME ='EMPLEADOS' AND TYPE ='U')

BEGIN

IF EXISTS(SELECT * FROM EMPLEADOS WHERE CODEMP=@COD)

BEGIN

DECLARE @CODAREA CHAR(4),@codcar char(4)

SET @CODAREA=(SELECT CODAREA FROM AREAS WHERE


NOMAREA=@NOMAREA)

set @codcar=(select codcar from cargos where nomcar=@nomcargo)

UPDATE EMPLEADOS SET IDAREA=@CODAREA,IDCARGO=@CODCAR,


APELLIDO=@APE,SUELDO=@SUE

WHERE CODEMP=@COD

SELECT 1

END

ELSE

SELECT 2

END

ELSE

SELECT 3

ALTER PROC BUSCA_EMPLEADO


Emperatriz Ruiz Quilcat

@COD CHAR(4)

AS

IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME ='EMPLEADOS' AND TYPE ='U')

BEGIN

IF EXISTS(SELECT * FROM EMPLEADOS WHERE CODEMP=@COD)

BEGIN

SELECT NOMAREA,NOMCAR, APELLIDO, SUELDO FROM AREAS


A,EMPLEADOS E, CARGOS C

WHERE A.CODAREA=E.IDAREA AND CODEMP=@COD AND C.CODCAR =


e.IDCARGO

END

END

EXEC BUSCA_EMPLEADO 'E004'

EXEC GRABA_EMPLEADO 'E001','SISTEMAS','ANALISTA','PANDO',300

EXEC GRABA_EMPLEADO 'E002','CONTABILIDAD''contador','SUAREZ',800

EXEC GRABA_EMPLEADO 'E003','SISTEMAS','ANALISTA','MARCOS',700

EXEC GRABA_EMPLEADO 'E005','VENTAS','JEFE DE VENTAS','BANDA',1000

EXEC GRABA_EMPLEADO 'E004','SISTEMAS','PROGRAMADOR','RABINES',1200

SELECT * FROM EMPLEADOS


Emperatriz Ruiz Quilcat

--CREATE PROC BUSCA_POR_AREA

--@NOMAREA CHAR(4)

--AS

--IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME ='EMPLEADOS' AND TYPE ='U')

-- BEGIN

-- IF EXISTS(SELECT * FROM EMPLEADOS WHERE CODEMP=@COD)

-- BEGIN

-- DECLARE @CODAREA CHAR(4)

-- SET @CODAREA=(SELECT CODAREA FROM AREAS WHERE


NOMAREA=@NOMAREA)

--

-- SELECT * FROM EMPLEADOS E, AREAS A

-- WHERE E.IDAREA=A.CODAREA AND A.NOMAREA=@NOMAREA

-- SELECT 1

-- END

--END

--END

ALTER PROC BUSCA

@INDEX INT, @VALOR VARCHAR(30)

AS IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME ='EMPLEADOS' AND TYPE ='U')

BEGIN

IF(@INDEX =1)

SELECT CODEMP,NOMAREA,NOMCAR,APELLIDO,SUELDO FROM AREAS A, CARGOS


C, EMPLEADOS E
Emperatriz Ruiz Quilcat

WHERE A.CODAREA=E.IDAREA AND C.CODCAR=E.IDCARGO AND


NOMAREA=@VALOR

IF(@INDEX =2)

SELECT CODEMP,NOMAREA,NOMCAR,APELLIDO,SUELDO FROM AREAS A, CARGOS


C, EMPLEADOS E

WHERE A.CODAREA=E.IDAREA AND C.CODCAR=E.IDCARGO AND


NOMCAR=@VALOR

END

EXEC BUSCA 1,'SISTEMAS'

S-ar putea să vă placă și