Advertisement
Guest User

Untitled

a guest
Oct 9th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.78 KB | None | 0 0
  1. CREATE OR REPLACE FUNCTION sfBool_adoEllenoriz_EPX5K3
  2. (
  3.     p_ado IN CHAR,
  4.     p_szul IN DATE
  5. )
  6. RETURN BOOLEAN
  7. DETERMINISTIC
  8. AUTHID CURRENT_USER
  9. AS
  10.     v_i INT := 1;
  11.     v_sum INT := 0;
  12.     v_temp INT := 0;
  13. BEGIN
  14.     IF LENGTH(p_ado) <> 10 THEN
  15.         RETURN FALSE;
  16.     ELSE
  17.         IF TO_NUMBER(SUBSTR(p_ado,1,1)) <> 8 THEN RETURN FALSE; END IF;
  18.         IF p_szul - TO_DATE('1867/01/01', 'yyyy/mm/dd') <> TO_NUMBER(SUBSTR(p_ado,2,5)) THEN RETURN FALSE; END IF;
  19.             WHILE v_i <= 9 LOOP
  20.                 v_temp := TO_NUMBER(SUBSTR(p_ado,v_i,1));
  21.                 v_temp := v_temp * v_i;
  22.                 v_sum := v_sum + v_temp;
  23.                 v_i := v_i +1;
  24.             END LOOP;
  25.             RETURN TO_NUMBER(SUBSTR(p_ado, 10, 1)) = (v_sum MOD 11);
  26.     END IF;  
  27. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement