Kyaria

DB-AUFGABEN-[Korrekt genug für Syntaxpunkte]

Apr 30th, 2018
471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.63 KB | None | 0 0
  1. --Aufgabe no1
  2.  
  3. DECLARE
  4. anzahl NUMBER := 17;
  5. BEGIN
  6. dbms_output.put_line(anzahl);
  7. END;
  8.  
  9. --Aufgabe no2
  10.  
  11. DECLARE
  12. anz_1 NUMBER(38,2) := 1234.145;
  13. anz_2 NUMBER(38) := 1234567812345;
  14. BEGIN
  15. dbms_output.put_line(anz_1 || ' / ' || anz_2);
  16. END;
  17.  
  18. --Aufgabe no3
  19.  
  20. DECLARE
  21. text varchar2(255) := 'Wir lernen PL/SQL';
  22. BEGIN
  23.  
  24. FOR i IN 1..3 loop
  25. dbms_output.put_line(text);
  26. END loop;
  27.  
  28. END;
  29.  
  30. --Aufgabe no4
  31.  
  32. DECLARE
  33. var_val kunden.k_id%TYPE;
  34. BEGIN
  35. var_val := 1337;
  36.  
  37. dbms_output.put_line(var_val);
  38. END;
  39.  
  40. --Aufgabe no5
  41.  
  42. DECLARE
  43.  
  44. cursor c1 IS SELECT COUNT(*) FROM KUNDEN;
  45. zahl NUMBER := 0;
  46. BEGIN
  47.  
  48. OPEN c1;
  49. loop
  50.     IF c1%NOTFOUND THEN
  51.         exit;
  52.     END IF;
  53.    
  54.     fetch c1 INTO zahl;
  55.     dbms_output.Put_line(zahl);
  56. END loop;
  57. CLOSE c1;
  58.  
  59. END;
  60.  
  61. --Aufgabe no6
  62.  
  63. DECLARE
  64.  
  65.     b NUMBER := 7;
  66.     l NUMBER := 12;
  67.     erg NUMBER := 0;
  68.    
  69. BEGIN
  70.     erg := (b * l) / 2;
  71.     dbms_output.put_line(erg);
  72. END;
  73.  
  74. --aufgabe no7
  75.  
  76. DECLARE
  77.  
  78. datum DATE := sysdate;
  79.  
  80. BEGIN
  81. dbms_output.put_line(datum);
  82. END;
  83.  
  84. --aufgabe no8
  85.  
  86. DECLARE
  87.  
  88. std varchar2(255) := to_char(sysdate, 'hh24');
  89. mi varchar2(255) := to_char(sysdate, 'mi');
  90. ss varchar2(255) := to_char(sysdate, 'ss');
  91.  
  92. BEGIN
  93.  
  94. dbms_output.Put_line(std || ':' || mi || ':' || ss);
  95.  
  96. END;
  97.  
  98. --Aufgabe no9
  99.  
  100. DECLARE
  101. pi CONSTANT NUMBER := 3.41;
  102. r NUMBER := &ZAHL;
  103. a_erg NUMBER := 0;
  104. u_erg NUMBER := 0;
  105.  
  106. BEGIN
  107.     --A = PI * R² // U = 2 * PI * R
  108.     a_erg := pi * (r * r);
  109.     u_erg := 2 * pi * r;
  110.    
  111.     dbms_output.put_line('Fläche: ' || a_erg || ', Umfang: ' || u_erg);
  112.    
  113. END;
  114.  
  115. -- Aufgabe no10
  116.  
  117. DECLARE
  118.  
  119. var_1 NUMBER := 10;
  120.  
  121. BEGIN
  122.  
  123. IF var_1 = 10 THEN
  124.     dbms_output.put_line('Jup');
  125. ELSE
  126.     dbms_output.put_line('Nope');
  127. END IF;
  128.  
  129. END;
  130.  
  131. --aufgabe no11
  132.  
  133. DECLARE
  134.  
  135. einstellungsdatum DATE := sysdate - 2500;
  136. cursor c1 IS SELECT * FROM employee;
  137.  
  138. c2 c1%rowtype;
  139.  
  140. BEGIN
  141. OPEN c1;
  142.  
  143. loop
  144.     fetch c1 INTO c2;
  145.         exit WHEN c1%NOTFOUND;
  146.        
  147.         IF c2.e_bday BETWEEN c2.e_bday AND ADD_MONTHS(c2.e_bday, 3) THEN
  148.             dbms_output.put_line(c2.e_name || ', Months: ' || ROUND(MONTHS_BETWEEN(sysdate, c2.e_bday)));
  149.         ELSIF  c2.e_bday BETWEEN c2.e_bday AND ADD_MONTHS(c2.e_bday, 120) THEN
  150.             dbms_output.put_line(c2.e_name || ', Months: ' || ROUND(MONTHS_BETWEEN(sysdate, c2.e_bday)));
  151.         ELSIF  c2.e_bday BETWEEN c2.e_bday AND ADD_MONTHS(c2.e_bday, 120) THEN
  152.             dbms_output.put_line(c2.e_name || ', Months: ' || ROUND(MONTHS_BETWEEN(sysdate, c2.e_bday)));
  153.         ELSE
  154.             dbms_output.put_line(c2.e_name || ', ' || 'SONSTIGE');
  155.         END IF;
  156. END loop;
  157.  
  158. CLOSE c1;
  159. END;
Advertisement
Add Comment
Please, Sign In to add comment