Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Postgres trigger
Ogotay
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 29.12.2005

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


Witam Wszystkich:

Nie mam wielkiego doswiadczenia w pl/sql i mam klopot. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

mam tabele:

odp

id_odp
id_ocena
id_pyt
odp

ocena

id_ocena
id_ankieta

pyt

id_pyt
id_ankieta
pytanie
numer_w_ankiecie

chodzi o to by wstawiajac nowy wiersz do tabeli ocena wstwiec do tabeli odp tyle wierszy ile pytan jest w danej ankiecie a odpowiedzi ustawic na null

Ten post edytował Ogotay 29.12.2005, 14:22:22
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Ogotay
post
Post #2





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 29.12.2005

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


dziala lokalnie przez pgadmin III, przez phppgadmin juz nie (IMG:http://forum.php.pl/style_emoticons/default/mad.gif)
zrobilem import bazy, wklejam fragment odpowiedzialny za tworzenia funkcji i triggera i wywala blad.
  1. CREATE FUNCTION funkcja_ocena_odp() RETURNS "trigger" AS $$declare
  2. zbiornik RECORD;
  3. begin FOR zbiornik IN SELECT id_pytanie, nr_w_ankieta
  4. FROM pytanie p, ocena o, ankieta a
  5. WHERE o.id_ocena=NEW.id_ocena AND p.id_ankieta=o.id_ankieta AND o.id_ankieta=a.id_ankieta ORDER BY nr_w_ankieta
  6. LOOP
  7. INSERT
  8. INTO odpowiedz (id_ocena, id_pytanie, odpowiedz, nr_w_ankieta)
  9. VALUES (NEW.id_ocena, zbiornik.id_pytanie, NULL, zbiornik.nr_w_ankieta);
  10. END LOOP;
  11. RETURN NEW;
  12. end;$$
  13. LANGUAGE plpgsql;
  14.  
  15.  
  16. ALTER FUNCTION public.funkcja_ocena_odp() OWNER TO postgres;


A cursor jak wykorzystac?

Ten post edytował Ogotay 29.12.2005, 22:18:35
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: 9.10.2025 - 02:08