Advertisement
sylarr

Untitled

Dec 1st, 2023 (edited)
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.85 KB | Source Code | 0 0
  1. --VISTAS
  2. CREATE VIEW vista_ASEGURADO AS
  3. SELECT ASEGURADO_ID,NOMBRE,APELLIDO
  4. FROM ASEGURADO
  5.  
  6. CREATE VIEW vista_RENOVACION AS
  7. SELECT RENOVACION_ID,FECHA_RENOVACION,TARIFA_RENOVACION,POLIZA_ID
  8. FROM RENOVACION
  9.  
  10. CREATE VIEW vista_VEHICULO AS
  11. SELECT VEHICULO_ID,MARCA,ANIO,PLACA,VERSION,TIPO_VEHICULO_ID
  12. FROM VEHICULO
  13.  
  14. --triggers
  15. CREATE OR REPLACE TRIGGER verificar_placa_repetida
  16. BEFORE INSERT ON VEHICULO
  17. FOR EACH ROW
  18. DECLARE
  19.    P_cantidad NUMBER;
  20. BEGIN
  21.    
  22.     SELECT COUNT(*)
  23.     INTO P_cantidad
  24.     FROM VEHICULO
  25.     WHERE PLACA = :NEW.PLACA;
  26.  
  27.     IF P_cantidad > 0 THEN
  28.         RAISE_APPLICATION_ERROR(-20001, 'Ya existe una fila con el mismo número de Placa.');
  29.     END IF;
  30. END verificar_placa_repetida;
  31. /
  32.  
  33. CREATE OR REPLACE TRIGGER _restriccion_edad
  34. BEFORE INSERT ON ASEGURADO
  35. FOR EACH ROW
  36. BEGIN
  37.     IF MONTHS_BETWEEN(SYSDATE, :NEW.FECHA_NACIMIENTO) < 216 THEN
  38.         RAISE_APPLICATION_ERROR(-20002, 'La persona debe tener al menos 18 años.');
  39.     END IF;
  40. END;
  41. /
  42.  
  43. CREATE OR REPLACE TRIGGER control_acceso
  44. BEFORE UPDATE ON AGENTE
  45. FOR EACH ROW
  46. BEGIN
  47.     IF USER <> 'ADMIN' THEN
  48.         RAISE_APPLICATION_ERROR(-20003, 'Solo el usuario ADMIN puede realizar actualizaciones.');
  49.     END IF;
  50. END;
  51. /
  52. --usuarios
  53. ALTER SESSION SET"_ORACLE_SCRIPT"=TRUE;
  54. CREATE USER "admin"
  55. IDENTIFIED BY "1234"
  56. DEFAULT TABLESPACE SYSTEM
  57. TEMPORARY TABLESPACE TEM
  58. QUOTA UNLIMITED ON "SYSTEM";
  59.  
  60. ALTER SESSION SET"_ORACLE_SCRIPT"=TRUE;
  61. CREATE USER "subgerente"
  62. IDENTIFIED BY "1234"
  63. DEFAULT TABLESPACE SYSTEM
  64. TEMPORARY TABLESPACE TEM
  65. QUOTA UNLIMITED ON "SYSTEM";
  66.  
  67. ALTER SESSION SET"_ORACLE_SCRIPT"=TRUE;
  68. CREATE USER "agente_venta"
  69. IDENTIFIED BY "1234"  --la contraseña pueden ser cambiada
  70. DEFAULT TABLESPACE SYSTEM -- liz esta parte puede ser cambiado a la tablespase de la base de datos
  71. TEMPORARY TABLESPACE TEM
  72. QUOTA UNLIMITED ON "SYSTEM";
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement