martes, 25 de octubre de 2016

Fundamentos de Bases de Datos: Módulo 02: Ejemplos INSERT, UPDATE, DELETE y VIEW



USE SistemaNotas2;
GO

INSERT


INSERT INTO Departamentos
      (Codigo, Nombre)
      VALUES
      (1, 'Financiero X');

INSERT INTO Departamentos
      (Nombre, Codigo)
      VALUES
      ('Ventas X', 12);

/* Comentario */
-- Comentario2
INSERT INTO Departamentos
      (Codigo, Nombre)
VALUES
      (13, 'IT Y'),
      (14, 'Contabilidad Y'),
      (15, 'Operaciones Y');

-- NO SE INCLUYE Columna CODIGO
-- PORQUE ES UN VALOR Identity
INSERT INTO Empleados
      (CUI, NombrePrimero, ApellidoPrimero,
      FechaNacimiento, CodigoDepartamento,
      NIT)
VALUES
      ('3206995851111', 'Esteban', 'Samayoa',
      '1998/12/25', 4,
      '808013-8');

SELECT *
      FROM Empleados
      WHERE CodigoDepartamento = 4
      AND ApellidoPrimero LIKE 'S%';



UPDATE 


SELECT *
      FROM Empleados
      WHERE CodigoDepartamento = 4
      AND ApellidoPrimero LIKE 'S%';

-- MODIFICA EL NOMBRE SEGUNDO DEL EMPLEADO
-- CON CODIGO = 8,
-- LA INSTRUCCION UPDATE SIEMPRE DEBE LLEVAR
-- WHERE
UPDATE Empleados
      SET NombreSegundo = 'Romero'
      WHERE Codigo = 8;

-- UPDATE DEBE LLEVAR WHERE
UPDATE Empleados
      SET NombreSegundo = 'Carlos',
      ApellidoSegundo = 'Perez'
      WHERE Codigo = 252;


SELECT *
      FROM Empleados   
      WHERE ApellidoPrimero = 'Samayoa';


DELETE 


-- DELETE FROM Tabla
-- WHERE Una Condición (Siempre debe llevar WHERE)Cod
DELETE FROM Empleados
      WHERE ApellidoPrimero = 'Samayoa';

SELECT *
      FROM Empleados
      WHERE ApellidoPrimero = 'ramos';

SELECT * FROM HorasExtras
      WHERE CodigoEmpleado = 500;

-- NO PERMITE EL DELETE
-- PORQUE EL EMPLEADO TIENE HORAS EXTRAS
DELETE FROM Empleados
      WHERE ApellidoPrimero = 'Ramos';



 VIEW



CREATE VIEW [dbo].[vHExEmpxMes]
AS
SELECT        CodigoEmpleado, YEAR(Fecha) AS Año, MONTH(Fecha) AS Mes, SUM(Cantidad) AS TOTAL
FROM            dbo.HorasExtras

GROUP BY CodigoEmpleado, YEAR(Fecha), MONTH(Fecha)



USE SistemaNotas
GO
-- CREAR UNA NUEVA VISTA
CREATE VIEW vEmpleadosxDepartamentos
AS
      SELECT Dep.Codigo AS CodDepartamento,
      Dep.Nombre AS Departamento,
      Emp.Codigo AS CodEmpleado,
      Emp.ApellidoPrimero, Emp.NombrePrimero,
      Emp.CUI, Emp.FechaNacimiento
      FROM Departamentos Dep
      INNER JOIN Empleados Emp
      ON Dep.Codigo = Emp.CodigoDepartamento;




USE SistemaNotas
GO


SELECT vEmpleadosxDepartamentos.Departamento,
      vEmpleadosxDepartamentos.ApellidoPrimero,
      vEmpleadosxDepartamentos.NombrePrimero,
      vHExEmpxMes.Año, vHExEmpxMes.Mes,
      vHExEmpxMes.TOTAL,
      vHExEmpxMes.TOTAL * 11.70 AS MontoHorasExtras
      FROM vEmpleadosxDepartamentos
      INNER JOIN vHExEmpxMes
      ON vEmpleadosxDepartamentos.CodEmpleado = vHExEmpxMes.CodigoEmpleado
      WHERE vHExEmpxMes.Año = 2015 AND
      vHExEmpxMes.Mes = 7
      ORDER BY vEmpleadosxDepartamentos.Departamento,
      vEmpleadosxDepartamentos.ApellidoPrimero,

      vEmpleadosxDepartamentos.NombrePrimero;


No hay comentarios.:

Publicar un comentario