Estimados, aca compartamos los resultados y ejercicios de base de datos
Ejercicios listados:
- Ejercicio Nº1
- Ejercicio Nº2
- Ejercicio Nº3
- Ejercicio Nº4
- Ejercicio Nº5
- Ejercicio Nº6
Estimados, aca compartamos los resultados y ejercicios de base de datos
Ejercicios listados:
DROP INDEX PRUEBA.IDX_DETALLE_PEDIDO;
CREATE INDEX PRUEBA.IDX_DETALLE_PEDIDO ON PEDIDO(IDCOMPANIA);
SELECT
P.IDPEDIDO AS "NRO VENTA",
P.FECHAPEDIDO AS "FECHA VENTA",
UPPER(C.EMPRESA) AS "CLIENTE",
UPPER(C.NOMBRE_CONTACTO) AS "REPRESENTANTE",
NVL(C.FONO, 'SIN TELÉFONO DE CONTACTO') AS "NRO CONTACTO",
NVL(TO_CHAR(SUM(DP.CANTIDAD), '999'), 'SIN DETALLE') AS "CANTIDAD PRODUCTOS"
FROM PEDIDO P
JOIN CLIENTE C
ON C.IDCLIENTE=P.IDCLIENTE
AND P.IDCOMPANIA=3
LEFT OUTER JOIN DETALLE_PEDIDO DP
ON DP.IDPEDIDO=P.IDPEDIDO
GROUP BY
P.IDPEDIDO,
P.FECHAPEDIDO,
UPPER(C.EMPRESA),
C.EMPRESA,
UPPER(C.NOMBRE_CONTACTO),
NVL(C.FONO, 'SIN TELÉFONO DE CONTACTO') ;
DROP INDEX PRUEBA.IDX_PEDIDO;
CREATE INDEX PRUEBA.IDX_PEDIDO ON PEDIDO (LOWER(SUBSTR(IDCLIENTE, 1, 1)));
SELECT
P.IDPEDIDO,
P.FECHAPEDIDO,
P.IDCLIENTE,
P.NOMBRE_DESTINATARIO,
DP.CANTIDAD
FROM PEDIDO P
JOIN DETALLE_PEDIDO DP
ON P.IDPEDIDO=DP.IDPEDIDO
AND LOWER(SUBSTR(IDCLIENTE,1,1)) = 'S';
CREATE ROLE ROL_CONSULTA;
GRANT select ON PRUEBA.CLIENTE TO ROL_CONSULTA;
GRANT select ON PRUEBA.PEDIDO TO ROL_CONSULTA;
GRANT select ON PRUEBA.DETALLE_PEDIDO TO ROL_CONSULTA;
GRANT select ON PRUEBA.v_clientes TO ROL_CONSULTA;
CREATE ROLE ROL_CARDTIME;
GRANT select, update ON PRUEBA.CLIENTE TO ROL_CARDTIME;
GRANT select, update ON PRUEBA.PEDIDO TO ROL_CARDTIME;
GRANT select, update ON PRUEBA.DETALLE_PEDIDO TO ROL_CARDTIME;
GRANT select ON PRUEBA.V_EMPLEADOS_ICENTIVOSTO ROL_CARDTIME;
CREATE USER CONSULTA_USR IDENTIFIED BY "1234";
GRANT CONNECT, ROL_CONSULTA TO CONSULTA_USR ;
GRANT SELECT ON PRUEBA.EMPLEADO TO CONSULTA_USR;
CREATE USER CARDTIME_USR IDENTIFIED BY "1234";
GRANT CONNECT, RESOURCE, ROL_CARDTIME TO CARDTIME_USR ;
GRANT SELECT,UPDATE ON PRUEBA.EMPLEADO TO CARDTIME_USR;
GRANT SELECT ON PRUEBA.V_EMPLEADOS_INCENTIVOS TO CARDTIME_USR;
GRANT CREATE VIEW TO CARDTIME_USR;
CREATE PUBLIC SYNONYM EMPLEADO FOR PRUEBA.EMPLEADO;
CREATE PUBLIC SYNONYM CLIENTE FOR PRUEBA.CLIENTE;
CREATE PUBLIC SYNONYM PEDIDO FOR PRUEBA.PEDIDO;
CREATE PUBLIC SYNONYM DETALLE_PEDIDO FOR PRUEBA.DETALLE_PEDIDO;
CREATE SYNONYM CONSULTA_USR.V_CLIENTE FOR PRUEBA.V_CLIENTE;
CREATE SYNONYM CARDTIME_USR.V_CLIENTE FOR PRUEBA.V_CLIENTE;
CREATE SYNONYM CARDTIME_USR.V_EMPLEADOS_SUELDO FOR PRUEBA.V_EMPLEADOS_SUELDO;
EJERCICIO Nº4
By Sole, Editado por Tomas