Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -------------------------------------------------------------------------------------------------------------------------------------------------------------
  2. -------------------------------------------------------------------------------------------------------------------------------------------------------------
  3. -------------------------------------------------------------------------------------------------------------------------------------------------------------
  4. -------------------------------------------------------------------------------------------------------------------------------------------------------------
  5. -------------------------------------------------------------------------------------------------------------------------------------------------------------
  6. -------------------------------------------------------------------------------------------------------------------------------------------------------------
  7. -------------------------------------------------------------------------------------------------------------------------------------------------------------
  8.  
  9. SELECT * FROM PROFESSOR;
  10.  
  11. SELECT * FROM CURSO;
  12.  
  13. SELECT * FROM MODULO;
  14. SELECT * FROM PRE_REQUESITO;
  15.  
  16.  
  17. INSERT INTO PROFESSOR VALUES (1, 'PROFS', '123456', '1998-08-08', 'OPROFS321@GMAIL.COM', '123', 10000, '2000-01-01');
  18.  
  19. INSERT INTO CURSO VALUES (1, 'CURSO', 'CURSO CURSO', 1000, 200, 15, TRUE, TRUE, 1);
  20.  
  21. INSERT INTO MODULO VALUES (1, 'MATEMATICA', 'DESCRICAO', 100, 1);
  22. INSERT INTO MODULO VALUES (2, 'PORTUGUES', 'DESCRICAO', 120, 1);
  23. INSERT INTO MODULO VALUES (3, 'CIENCIAS', 'DESCRICAO', 150, 1);
  24. INSERT INTO MODULO VALUES (4, 'HISTORIA', 'DESCRICAO', 50, 1);
  25. INSERT INTO MODULO VALUES (5, 'GEOGRAFIA', 'DESCRICAO', 180, 1);
  26.  
  27.  
  28. CREATE VERIFICAR_VALIDADE_PRE_REQUISITO(COD_MODULO_ANALISADO INT, COD_MODULOS_PERCORRIDOS INT[])
  29. DECLARE
  30.     REGISTROS_PRE_REQUISITO RECORD;
  31.     REGISTRO_PRE_REQUISITO RECORD;
  32. BEGIN
  33.     SELECT COD_MODULO_PRE_REQUISITO INTO REGISTROS_PRE_REQUISITO FROM PRE_REQUISITO WHERE COD_MODULO = COD_MODULO_ANALISADO;
  34.  
  35.     IF (SELECT ARRAY[COD_MODULO_ANALISADO] <@ COD_MODULOS_PERCORRIDOS) IS TRUE THEN
  36.         RETURN FALSE
  37.     ELSE
  38.         FOR REGISTRO_PRE_REQUISITO IN
  39.     END IF;
  40. END
  41. $$ LANGUAGE plpgsql;
  42.  
  43.  
  44. CREATE FUNCTION EVENTO_INSERT_PRE_REQUISITO()
  45. RETURNS TRIGGER
  46. AS $$
  47. BEGIN
  48.     IF VERIFICAR_VALIDADE_PRE_REQUISITO(NEW.COD_MODULO, ARRAY[]) IS FALSE THEN
  49.    
  50. END
  51. $$ LANGUAGE plpgsql
  52.  
  53. CREATE TRIGGER TRIGGER_PRE_REQUISITO
  54. BEFORE INSERT
  55. ON PRE_REQUISITO FOR EACH ROW
  56. EXECUTE PROCEDURE EVENTO_INSERT_MODULO()
  57.  
  58.  
  59. -- VERIFICAR SE O VALOR TA NA LISTA
  60. SELECT ARRAY[1] <@ ARRAY [1,2,4]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement