Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wykasowanie tabel.
Blackhole
post
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Cześć.
Jak można jedną komendą wykasować (DROPnąć biggrin.gif) wszystkie tabele jakiegoś użytkownika lub te, których SCHEMANAME ma określoną wartość :?:


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


  1. DROP TABLE schemat.tabela1, schemat.tabela2


--------------------
Go to the top of the page
+Quote Post
Blackhole
post
Post #3





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Wiem, że tak można smile.gif
Ale chciałbym wiedzieć, czy można zrobić to jedną komendą, gdy nie wiem, ile jest tych tabel i jak się nazywają sadsmiley02.gif


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
Jabol
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


drop schema XXX;
create schema XXX;
Go to the top of the page
+Quote Post
Blackhole
post
Post #5





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Cytat(Jabol @ 2005-03-28 20:52:30)
drop schema XXX;
W moim przypadku trzeba by skasować schemat public. Czy nie spowoduje to utraty pewnych jego właściwości :?: Wydaje mi się to trochę ryzykowne.


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
Jabol
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


http://www.postgresql.org/docs/7.4/interac...s.html#AEN52276
spróbuj pobawić się plpgsql
w pseudokodzie będzie mnie więcej tak
Kod
for x::record in [selcet * from pg_tables where schemaname="XXX"]
  loop;
    execute "drop table"  || x.tablename::text;
  end;


Ten post edytował Jabol 29.03.2005, 12:58:00
Go to the top of the page
+Quote Post
Blackhole
post
Post #7





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


blink.gif Wow. To chyba na razie przerasta moje umiejętności cool.gif


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
Jabol
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


to na pewno nie przerasta Twoich możliwości, zapoznaj się z tym i wszystko okaże się proste: http://www.postgresql.org/docs/7.4/interactive/plpgsql.html
a to możesz też zrobić w php:
  1. <?php
  2. $res=pg_query($conn, &#092;"SELECT tablename FROM pg_tables WHERE schemename = 'public';\");
  3. $num=pg_num_rows($res);
  4. for($x=0;x<$num;$x++)
  5. pg_query($conn, &#092;"DROP TABLE \".pg_fetch_result($res, $x, 0).\";\");
  6. //done
  7. ?>

To jest to samo tylko, że na piechotę i z wykorzystaniem zewnętrznego narzędzia
Go to the top of the page
+Quote Post
Blackhole
post
Post #9





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Dzięki winksmiley.jpg
To w php jest całkiem proste, a z plpgsql'em się napewno kiedyś zapoznam.

Ten post edytował Blackhole 29.03.2005, 13:07:01


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post
SongoQ
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


  1. SELECT tablename
  2. FROM pg_tables WHERE schemaname = 'public'


Zrobiles literowke w WHERE schemaname.

Zastanawiam sie czy jest mozliwosc zrobienia cos takiego i usunac tak jak autor tego posta chcial, np cos takiego

  1. DROP TABLE (SELECT tablename
  2. FROM pg_tables WHERE schemaname = 'public')


Ale takie cos jest nieprawidlowe skladniowo. Jakos w manualu do postgresa nie udalo mi sie odszukac, wydaje mi sie ze cos takiego powinno istniec.


--------------------
Go to the top of the page
+Quote Post
Blackhole
post
Post #11





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Też próbowałem tego drugiego kodu, no ale nie działa. Trudno cool.gif


--------------------
Ściskam prawicę...
Jacek

http://doscniewoli.pl/ - wszyscy jesteśmy niewolnikami bankierów!
http://jezusimarlena.ovh.org/
YouTube - Egzorcyzmy Anneliese Michel
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 10:50