Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Trigger - jak wykonac - dla MyBB.
calif
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 24.08.2009

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


Witam!

Potrzebuję Trigger'a (chyba tak to się nazywa), który robiłby taką coś:

Gdy ktoś rejestruje się na forum MyBB - czyli zostaje dodany rekord do tabeli mybb_users, trigger reaguje i dopisuje tego samego użytkownika (rekord) do innej tabeli.

Tak, abym mógł zainstalować większą ilość for na jednej bazie danych, aby na wszystkich forach byli Ci sami użytkownicy.

Przypuśćmy jedna tabela z ludźmi to: mybb_users, a druga to mybb1_users, kolejna mybb2_users itp. itd.

Jak to zrobić?

Pozdrawiam!
calif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cojack
post
Post #2





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Widok nie jest aliasem, tylko interfejsem.

Podany przykład nie robi tego czego oczekiwałeś.

Musisz utworzyć trigger:

  1.  
  2. CREATE FUNCTION "insertNewUsersToOtherUserTablesFunction" RETURNS TRIGGER AS $BODY$
  3. DECLARE
  4. "__row" RECORD;
  5. BEGIN
  6. SELECT
  7. *
  8. INTO
  9. "__row"
  10. FROM
  11. "mybb_users"
  12. WHERE
  13. "user_id" = NEW."user_id"; -- czy jak tam sie kolumna nazywa
  14.  
  15. INSERT INTO "mybb_users1" SELECT * FROM "__row";
  16. INSERT INTO "mybb_users2" SELECT * FROM "__row";
  17. -- i tak dalej...
  18.  
  19. RETURN NEW;
  20. END;
  21. $BODY$ LANGUAGE 'plpgsql';
  22.  
  23. CREATE TRIGGER "insertNewUsersToOtherUserTablesTrigger"
  24. AFTER INSERT ON "mybb_users"
  25. FOR EACH ROW EXECUTE PROCEDURE "insertNewUsersToOtherUserTablesFunction"();


To jest przykład dla postgresa, nie znam procedur w mysql, ale analogicznie będziesz mógł napisać swoją. Nie zapomnij że po każdej takiej sytuacji będziesz musiał w każdej tabeli ustawić na nowo seq klucza głównego.

Ten post edytował cojack 4.09.2010, 22:22:39
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: 2.10.2025 - 18:45