Sugiro o seguinte:

- usar a "pg_class" para recuperar o nome de todas as tabelas no banco:

select 'if exists (select count(1) from ' || relname || ' limit 1)
then\ndrop table ' || relname || ';\nend if;' from pg_class where
relkind = 'r';

- criar uma função em PL/pgSQL que contenha as instruções obtidas anteriormente

Sugiro outra coisa: use o campo "subject/assunto" do e-mail. Muita
gente não deve ter aberto o e-mail por causa do título "COMO
FAÇO???"...

-- 
Rodrigo Hjort
http://icewall.org/~hjort


2006/7/27, Fabio Telles <[EMAIL PROTECTED]>:
> On 7/27/06, Romeu <[EMAIL PROTECTED]> wrote:
> >
> >
> > Bom dia doutores,
> > tenho uma duvida bem simples,
> > estou apagando várias tabelas do meu banco pois vou recriálas e uso aquele
> > DROP TABLE ... CASCADE;
> > teria como colocar uma clausula para caso ter alguma informação na tabela
> > ele nao dropar??
> > tipo where is null . Mas não queria estar especificando cada campo de cada
> > tabela.
> >
> > Teria como??
> > Grato
>
> O mais fácil seria criar uma função onde ocorre um SELECT count(*)
>
> Se retornar zero procede com o DROP caso contrário vai em frente.
>
> []s
>
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a