Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak to porpawic, jak to poprawic
delik
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 29.05.2013

Ostrzeżenie: (0%)
-----


stwozylem funkcje ktora dziala i wykonuje to


CREATE OR REPLACE FUNCTION sortowanie(id int,liczba int) RETURNS int AS $$
DECLARE
zero int;
BEGIN
zero:=0;
if MOD($2,2)=zero then
insert into ldod(id,liczby) values($1,$2);
else
insert into lnie(id,liczby) values($1,$2);
END IF;
return null;
END;
$$ language plpgsql;





CREATE OR REPLACE FUNCTION sortowanieliczb() RETURNS
trigger AS $$
DECLARE
BEGIN

if TG_OP='insert' then

if liczby % 2 = 0 then
insert into liczby_parzyste(liczba_parzysta) values(new.liczby);

else
insert into liczby_nieparzyste(id,liczba_nieparzysta) values(new.id,new.liczby);
return new;
END IF;
END IF;
END;
$$LANGUAGE PLPGSQL;



Ten post edytował delik 30.05.2013, 17:04:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


NA-WIA-SY (IMG:style_emoticons/default/exclamation.gif) !
  1. CREATE TABLE liczby(id bigint NOT NULL, liczby bigint NOT NULL);
  2. CREATE TABLE liczby_parzyste(id bigint NOT NULL, liczba_parzysta bigint NOT NULL);
  3. CREATE TABLE liczby_nieparzyste(id bigint NOT NULL, liczba_nieparzysta bigint NOT NULL);
  4.  
  5.  
  6. CREATE OR REPLACE FUNCTION fn_sortowanieliczb() returns TRIGGER AS
  7. $BODY$
  8. begin
  9. IF(upper(TG_OP) IN ('UPDATE', 'DELETE')) then
  10. DELETE FROM liczby_parzyste WHERE id=OLD.id;
  11. DELETE FROM liczby_nieparzyste WHERE id=OLD.id;
  12. end IF;
  13. IF(upper(TG_OP) IN ('INSERT', 'UPDATE') ) then
  14. IF(NEW.liczby%2=0) then
  15. INSERT INTO liczby_parzyste VALUES(NEW.id, NEW.liczby);
  16. else
  17. INSERT INTO liczby_nieparzyste VALUES(NEW.id, NEW.liczby);
  18. end IF;
  19. end IF;
  20. RETURN new;
  21. end;
  22. $BODY$
  23. LANGUAGE plpgsql cost 1;
  24.  
  25. CREATE TRIGGER tr_b_idu_liczby before INSERT OR UPDATE OR DELETE ON liczby FOR each row execute procedure fn_sortowanieliczb();
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.10.2025 - 11:41