Advertisement
Guest User

Untitled

a guest
Jan 21st, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. DROP TABLE POINTS;
  2.  
  3. CREATE TABLE POINTS (
  4. ID NUMBER,
  5. X NUMBER,
  6. Y NUMBER
  7. );
  8.  
  9. CREATE OR REPLACE PROCEDURE GEN_POINT
  10. IS
  11. X NUMBER;
  12. Y NUMBER;
  13. AMOUNT NUMBER;
  14. BEGIN
  15. SELECT COUNT(*) INTO AMOUNT FROM POINTS;
  16. IF AMOUNT > 30 THEN
  17. EXECUTE IMMEDIATE 'TRUNCATE TABLE POINTS';
  18. AMOUNT := 0;
  19. ELSIF AMOUNT = 0 THEN
  20. X := 0;
  21. Y := 0;
  22. ELSE
  23. X := dbms_random.VALUE(1, 100);
  24. Y := dbms_random.VALUE(1, 100);
  25. END IF;
  26. INSERT INTO POINTS(ID, X, Y) VALUES (AMOUNT, X, Y);
  27. END;
  28. /
  29.  
  30. BEGIN
  31. DBMS_SCHEDULER.CREATE_JOB (
  32. job_name => 'generate_points',
  33. job_type => 'STORED_PROCEDURE',
  34. job_action => 'GEN_POINT',
  35. repeat_interval => 'FREQ=SECONDLY; INTERVAL=1',
  36. end_date => SYSTIMESTAMP + INTERVAL '30' SECOND,
  37. enabled => TRUE
  38. );
  39. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement