Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Update kilku baz na raz
synec
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 2
Dołączył: 26.10.2009

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


Witam,

Mam takie pytanie mam kilkanaście tych samych baz. Teraz chciałbym dodać do nich wszystkich jedną tą samą tabele czy jest możliwość dodania tego jednym zapytaniem czy muszę w zapytaniu deklarować bazę i wykonać tyle zapytań ile jest baz?

Pozdrawiam.

Ten post edytował synec 5.04.2013, 11:28:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sowiq
post
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Spróbuj z kursorami. Zerknij tutaj: http://dev.mysql.com/doc/refman/5.0/en/cursors.html i tutaj: http://stackoverflow.com/questions/2379116...procedure-on-it

[edit]
Tak na szybko wyszło mi coś takiego:
  1. CREATE PROCEDURE make_tables()
  2. BEGIN
  3. DECLARE done INT DEFAULT FALSE;
  4. DECLARE a CHAR(128);
  5. DECLARE SQLStmt TEXT;
  6. DECLARE cur CURSOR FOR SELECT schema_name FROM information_schema.schemata WHERE schema_name != 'information_schema';
  7. DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
  8.  
  9. OPEN cur;
  10.  
  11. read_loop: LOOP
  12. FETCH cur INTO a;
  13. IF done THEN
  14. LEAVE read_loop;
  15. END IF;
  16.  
  17. SET @SQLStmt = CONCAT('CREATE TABLE ', a, '.aa_test( a INT NOT NULL );');
  18. PREPARE Stmt FROM @SQLStmt;
  19. EXECUTE Stmt;
  20. DEALLOCATE PREPARE Stmt;
  21.  
  22. END LOOP;
  23.  
  24. CLOSE cur;
  25. END;


[edit 2]
Dodałem warunek do selecta w kursorze.

Ten post edytował sowiq 5.04.2013, 12:47:51
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: 11.10.2025 - 23:08