El documento describe una base de datos de una empresa con tablas de cargo, empleado y asignación. Incluye datos de ejemplo e implementa funciones como devolver el sueldo de un cargo, generar un código único para empleados, y mostrar el número de empleados por cargo. También incluye un procedimiento almacenado para realizar una copia de seguridad de las tablas.
0 calificaciones0% encontró este documento útil (0 votos)
30 vistas4 páginas
El documento describe una base de datos de una empresa con tablas de cargo, empleado y asignación. Incluye datos de ejemplo e implementa funciones como devolver el sueldo de un cargo, generar un código único para empleados, y mostrar el número de empleados por cargo. También incluye un procedimiento almacenado para realizar una copia de seguridad de las tablas.
El documento describe una base de datos de una empresa con tablas de cargo, empleado y asignación. Incluye datos de ejemplo e implementa funciones como devolver el sueldo de un cargo, generar un código único para empleados, y mostrar el número de empleados por cargo. También incluye un procedimiento almacenado para realizar una copia de seguridad de las tablas.
El documento describe una base de datos de una empresa con tablas de cargo, empleado y asignación. Incluye datos de ejemplo e implementa funciones como devolver el sueldo de un cargo, generar un código único para empleados, y mostrar el número de empleados por cargo. También incluye un procedimiento almacenado para realizar una copia de seguridad de las tablas.
CODE VARCHAR(3) NOT NULL, CODC VARCHAR(3) NOT NULL, FECHAA DATE FOREIGN KEY(CODE) REFERENCES EMPLEADO(CODE), FOREIGN KEY(CODC) REFERENCES CARGO(CODC) )
USE PRACTICA1SQLavanzado GO INSERT INTO CARGO VALUES('C1','SECRETARIA',5000) INSERT INTO CARGO VALUES('C2','TECNICO I',2000) INSERT INTO CARGO VALUES('C3','TECNICO II',2500)
INSERT INTO EMPLEADO VALUES('E1','JUANA','PARISACA')
INSERT INTO EMPLEADO VALUES('E2','RAMON','MENDEZ') INSERT INTO EMPLEADO VALUES('E3','MARIA','GOMEZ') INSERT INTO EMPLEADO VALUES('E4','ALVARO','MARTINEZ') INSERT INTO EMPLEADO VALUES('E5','ELOY','SANTOS') INSERT INTO ASIGNACION VALUES('E1','C1','01-02-2012') INSERT INTO ASIGNACION VALUES('E2','C2','10-03-2012') INSERT INTO ASIGNACION VALUES('E3','C3','01-22-2013') INSERT INTO ASIGNACION VALUES('E4','C3','06-30-2015') INSERT INTO ASIGNACION VALUES('E5','C2','04-15-2015')
select * from cargo
select * from empleado select * from asignacion
1.Defina una función que devuelva el monto que se paga a un
determinado cargo. create function dbo.ejer1(@codc varchar(3)) returns decimal as begin declare @monto decimal select @monto=SUELDO from CARGO return @monto end go print 'El sueldo ' +str(dbo.ejer1('c1'))
2.Defina una función que devuelva un nuevo código de un empleado
formado por las dos primeras letras de su nombre más la cantidad de caracteres de su nombre más las dos primeras letras de su apellido y la cantidad de caracteres de su apellido. CREATE FUNCTION DBO.codigo2(@id varchar(3)) RETURNS varchar(200) AS BEGIN declare @codem varchar(200)
+SUBSTRING(APEEMP, 1, 2)+trim(str(len(APEEMP))) from EMPLEADO where CODE = @id RETURN @codem END
print DBO.codigo2 ('E1')
print 'el codigo es: '+ dbo.codigo2('E1') 3.Defina una función que devuelva una tabla con el nombre de los cargos y la cantidad de empleados en cada cargo
Create function dbo.E3 ()
returns table as return (select NOMCARGO, count (CODE) as 'cantidad' from CARGO c inner join ASIGNACION a on c.CODC=a.CODC group by NOMCARGO ) go select * from dbo.E3()
5.
alter procedure backcuppractica
as begin drop table copia_cargo select * into copia_cargo from CARGO
drop table copia_empleado
select * into copia_empleado from EMPLEADO
drop table copia_asignacion
select * into copia_asignacion from ASIGNACION end go exec backcuppractica