MarVin666

TAB PS3

Mar 10th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE SEQUENCE S_NO_CYCLE;
  2.  
  3. CREATE SEQUENCE S_CYCLE
  4. INCREMENT BY 1 -- I TAK JEST DOMYSLNIE 1
  5. START WITH 1 -- TAK SAMO ZAWSZE JEDEN
  6. MAXVALUE 2
  7. CYCLE -- TO JUZ NIE JEST DOMYSLNIE
  8. NOCACHE;
  9.  
  10. CREATE TABLE ps3
  11. (wartosc1 NUMBER(4) PRIMARY KEY,
  12. wartosc2 NUMBER(4));
  13.  
  14. BEGIN
  15.   FOR I IN 1..3 LOOP
  16.     DBMS_OUTPUT.PUT_LINE(S_NO_CYCLE.NEXTVAL || ' ' || S_CYCLE_NEXTVAL);
  17.     DBMS_OUTPUT.PUT_LINE(S_NO_CYCLE.CURRVAL || ' ' || S_CYCLE_NEXTVAL);
  18.   END LOOP;
  19. END;
  20.  
  21. CREATE SEQUENCE S_INCREMENT_BY_3
  22. START WITH 5
  23. INCREMENT BY 3
  24. MAXVALUE 14
  25. CYCLE
  26. NOCACHE;
  27.  
  28. CREATE SEQUENCE S_DECREMENT_BY_10
  29. START WITH 100
  30. INCREMENT BY -10
  31. MAXVALUE 110
  32. MINVALUE 10
  33. CYCLE
  34. NOCACHE;
  35.  
  36. BEGIN
  37.   FOR I IN 1..5 LOOP
  38.     DBMS_OUTPUT.PUT_LINE (S_INCREMENT_BY_3.NEXTVAL);
  39.   END LOOP;
  40. END;
  41.  
  42. BEGIN
  43.   FOR I IN 1..11 LOOP
  44.     DBMS_OUTPUT.PUT_LINE(S_DECREMENT_BY_10.NEXTVAL);
  45.   END LOOP;
  46. END;
  47.  
  48. DECLARE
  49. V_ZMIENNA VARCHAR(255);
  50. BEGIN
  51.   FOR I IN 1..200 LOOP
  52.   V_ZMIENNA := SQLERRM(I);
  53.     INSERT INTO KOMUNIKAT_1(ID_POM,ID_POM1) VALUES (I,V_ZMIENNA);
  54.   END LOOP;
  55. END;
  56.  
  57. CREATE OR REPLACE PROCEDURE
  58. P_LICZBA_TYTULOW(P_NAZWA T_WYDAWCA.NAZWA%TYPE) IS
  59. V_LICZBA NUMBER;
  60. BEGIN
  61.   SELECT COUNT(DISTINCT K.TYTUL) INTO V_LICZBA
  62.   FROM T_KSIAZKA K
  63.   WHERE K.WYDAWCA = (SELECT ID_WYDAWCY FROM T_WYDAWCA WHERE NAZWA=P_NAZWA);
  64.   IF V_LICZBA >0 THEN
  65.     INSERT INTO KOMUNIKAT_1(ID_POM,ID_POM1) VALUES (V_LICZBA, P_NAZWA);
  66.   ELSE
  67.     INSERT INTO KOMUNIKAT_1(ID_POM1) VALUES ('Nie ma takiego wydawnictwa');
  68.   END IF;
  69. END;
  70.  
  71. EXECUTE P_LICZBA_TYTULOW('1Z');
  72.  
  73. select * from komunikat_1
  74.  
  75. CREATE OR REPLACE FUNCTION F_ONLY_ONE RETURN NUMBER IS
  76.  
  77. V_KLIENTA T_ZAMOWIENIE.ID_KLIENTA%TYPE;
  78.  
  79. BEGIN
  80.   SELECT ID_KLIENTA
  81.   INTO V_KLIENTA
  82.   FROM T_ZAMOWIENIE
  83.   GROUP BY ID_KLIENTA
  84.   HAVING COUNT(ID_KLIENTA)=1;
  85.   EXCEPTION
  86.   WHEN TOO_MANY_ROWS THEN RETURN -1;
  87.   WHEN NO_DATA_FOUND THEN RETURN -1;
  88.   WHEN OTHERS THEN RETURN -1;
  89. RETURN V_KLIENTA;
  90. END;
  91.  
  92. SELECT F_ONLY_ONE FROM DUAL
Add Comment
Please, Sign In to add comment