Advertisement
Guest User

Untitled

a guest
May 20th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. CREATE FUNCTION wypisz() RETURNS TRIGGER
  2. LANGUAGE 'pspgsql'
  3. AS'
  4. DECLARE a int, b int;
  5. BEGIN
  6. IF (wypozyczenie.data_zwrotu!=NULL WHERE wypozyczenie.kto_wypozyczyl=a)
  7. THEN
  8. RETURN NULL;
  9. END;';
  10.  
  11.  
  12. CREATE FUNCTION abc() RETURNS TRIGGER
  13. LANGUAGE 'pspgsql'
  14. AS'
  15.  
  16. IF (wypozyczenie.data_zwrotu!=NULL WHERE wypozyczenie.kto_wypozyczyl)
  17. THEN
  18. RETURN NULL;
  19. END;';
  20.  
  21. CREATE TABLE num(
  22. numery int
  23. );
  24.  
  25. CREATE FUNCTION abc() RETURNS TRIGGER
  26. LANGUAGE 'pspgsql'
  27. AS'
  28. DECLARE
  29.  
  30. BEGIN
  31. LOOP
  32.  
  33. RETURN NULL;
  34. END;';
  35.  
  36. CREATE FUNCTION ad(int) RETURNS INT
  37. LANGUAGE 'pspgsql'
  38. AS'
  39. DECLARE
  40. a int =(SELECT COUNT(*) FROM plyta);
  41. BEGIN
  42. return $1+a;
  43. END;';
  44.  
  45.  
  46.  
  47. CREATE OR REPLACE FUNCTION wypisz() RETURNS TRIGGER
  48.  
  49. LANGUAGE 'plpgsql'
  50.  
  51. AS'
  52.  
  53. DECLARE
  54. a int =(SELECT COUNT(*) FROM wypozyczenie);
  55. b int = 1;
  56. c int = 0;
  57.  
  58. BEGIN
  59.  
  60. LOOP
  61. EXIT WHEN b>a;
  62. if((SELECT data_zwrotu FROM wypozyczenie WHERE id=b)=NULL)
  63. then
  64. c=(SELECT co_wypozyczyl FROM wypozyczenie WHERE id=b);
  65.  
  66. SELECT tytul FROM plyta WHERE numer=c;
  67. SELECT cena FROM plyta WHERE numer=c;
  68.  
  69. end if;
  70.  
  71. b=b+1;
  72. END LOOP;
  73.  
  74. RETURN NULL;
  75. END;';
  76.  
  77. CREATE TRIGGER spus BEFORE INSERT ON wypozyczenie
  78. FOR EACH ROW EXECUTE PROCEDURE wypisz();
  79.  
  80. SELECT tytul FROM plyta WHERE numer=c,
  81. SELECT cena FROM plyta WHERE numer=c;
  82.  
  83. CREATE OR REPLACE FUNCTION petla(int)returns int
  84. LANGUAGE 'plpgsql'
  85. AS'
  86.  
  87. declare
  88.  
  89. begin
  90.  
  91. SELECT * FROM plyta;
  92.  
  93. return $1*2;
  94. end;';
  95.  
  96.  
  97. CREATE TABLE wypozyczone
  98. (
  99. tytul_wyporzyczony varchar(30),
  100. cena numeric(4,2)
  101. );
  102.  
  103.  
  104.  
  105. CREATE OR REPLACE FUNCTION wypisz() RETURNS TRIGGER
  106.  
  107. LANGUAGE 'plpgsql'
  108.  
  109. AS'
  110.  
  111. DECLARE
  112. a int =(SELECT COUNT(*) FROM wypozyczenie);
  113. b int = 1;
  114. c int = 0;
  115.  
  116. BEGIN
  117.  
  118. LOOP
  119. EXIT WHEN b>a;
  120. if((SELECT data_zwrotu FROM wypozyczenie WHERE id=b)=NULL)
  121. then
  122. c=(SELECT co_wypozyczyl FROM wypozyczenie WHERE id=b);
  123. INSERT INTO wypozyczone(tytul_wyporzyczony,cena)
  124. SELECT tytul,cena
  125. FROM plyta
  126. WHERE numer=c;
  127. end if;
  128.  
  129. b=b+1;
  130. END LOOP;
  131.  
  132. RETURN NULL;
  133. END;';
  134.  
  135. PERFORM tytul FROM plyta WHERE numer=c;
  136. PERFORM cena FROM plyta WHERE numer=c;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement