Re: DROP TABLE IF EXISTS tabla

From: "Ivan Hills G(dot)" <ihillscl(at)yahoo(dot)com>
To: Jaime Casanova <systemguards(at)gmail(dot)com>
Cc: david aceituno <davidaceituno(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: DROP TABLE IF EXISTS tabla
Date: 2005-11-23 16:28:56
Message-ID: 438498C8.4050201@yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Jaime Casanova wrote:

>On 11/23/05, david aceituno <davidaceituno(at)gmail(dot)com> wrote:
>
>
>>necesito eliminar una tabla siempre y cuando ella exista, he probado con
>>esta sentencia sql y no funca. si alguien me pudiese ayudar.
>>
>>DROP TABLE IF EXISTS tabla
>>
>>Gracias
>>
>>
>>
>
>por que todavia no existe (oficialmente, de hacho ya la añadieron i
>saldra con la siguiente versión), lo que puedes hacer es en plpgsql,
>en algun lenguaje es un shell algo que siga este formato:
>
>select * from pg_class where relname = 'tu_tabla';
>si el select devuelve un valor entonces
> drop table
>fin si;
>
>--
>Atentamente,
>Jaime Casanova
>(DBA: DataBase Aniquilator ;)
>
>---------------------------(fin del mensaje)---------------------------
>TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
> a majordomo(at)postgresql(dot)org para que tus mensajes puedan llegar
> a los suscriptores de la lista
>
>
>
prueba con esto:

CREATE OR REPLACE FUNCTION drop_if_exists(text)
RETURNS int4 AS
'
DECLARE
tbl_name ALIAS FOR $1;
BEGIN
IF (select count(*) from pg_tables where tablename=$1) THEN EXECUTE
\'DROP TABLE \' || $1;
RETURN 1;
END IF;
RETURN 0;
END;
'
LANGUAGE 'plpgsql' VOLATILE;

--
Saludos

Ivan Hills G.
Investigacion y Desarrollo
AMB Comunicaciones
Blabox




______________________________________________
Renovamos el Correo Yahoo!
1GB de capacidad, nuevos servicios y más seguridad
http://correo.yahoo.es

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Leonel Nunez 2005-11-23 17:42:58 Re: Ayuda Postgres
Previous Message dculotta 2005-11-23 16:10:08 Instalar Slony para PostgreSql 8.1 en Debian