Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. ,LOAD_DATE date "MM/DD/YYYY" "to_char(trunc(schema.load_seq.get_load_date), 'mm/dd/yyyy')"
  2. ,LOAD_SEQ_ID decimal external "schema.load_seq.get_load_seq_id"
  3.  
  4. CREATE OR REPLACE PACKAGE SCHEMA.LOAD_SEQ AS
  5. /******************************************************************************
  6. NAME: LOAD_SEQ
  7. PURPOSE: Sets unique load_date and Load_seq_id per session when
  8. the package is instantiated. Package functions are
  9. intended to be called from control files so all rows in a
  10. file load will have the same load_date and load_seq_id.
  11.  
  12. When the functions are called, the package is instantiated and
  13. the code at the bottom is run once for the session, setting the
  14. load_date and load_seq_id. The functions simply return the values
  15. which will remain the same for that session.
  16.  
  17. EXAMPLE: ,LOAD_SEQ_ID DECIMAL EXTERNAL "load_seq.get_load_seq_id"
  18. (each row then has the same load_seq_id).
  19.  
  20. REVISIONS:
  21. Ver Date Author Description
  22. --------- ---------- --------------- ------------------------------------
  23. 1.0 2/20/2017 Gary_W 1. Created this package.
  24. ******************************************************************************/
  25. NEXT_LOAD_SEQ_ID NUMBER;
  26. NEXT_LOAD_DATE DATE;
  27.  
  28. FUNCTION GET_LOAD_SEQ_ID RETURN NUMBER;
  29. FUNCTION GET_LOAD_DATE RETURN DATE;
  30.  
  31. END LOAD_SEQ;
  32. /
  33.  
  34. CREATE OR REPLACE PACKAGE BODY SCHEMA.LOAD_SEQ AS
  35. FUNCTION GET_LOAD_SEQ_ID RETURN NUMBER IS
  36. BEGIN
  37. RETURN LOAD_SEQ.NEXT_LOAD_SEQ_ID;
  38. END GET_LOAD_SEQ_ID;
  39.  
  40. FUNCTION GET_LOAD_DATE RETURN DATE IS
  41. BEGIN
  42. RETURN LOAD_SEQ.NEXT_LOAD_DATE;
  43. END GET_LOAD_DATE;
  44.  
  45. BEGIN
  46. -- This code is run once, when the package is first called by the session.
  47. -- It sets the package variables which then do not change during the life of the session.
  48. SELECT SYSDATE, X_LOAD_SEQ.NEXTVAL
  49. INTO LOAD_SEQ.NEXT_LOAD_DATE, LOAD_SEQ.NEXT_LOAD_SEQ_ID
  50. FROM DUAL;
  51. END LOAD_SEQ;
  52. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement