Re: Conditional test
От | steve boyle |
---|---|
Тема | Re: Conditional test |
Дата | |
Msg-id | a1cqfm$174q$1@news.tht.net обсуждение исходный текст |
Ответ на | Conditional test (rickd@open-works.com (Rick Dayao)) |
Список | pgsql-sql |
Rick, try the following plpgsql function it should do what you need: create function f_dropTableIfExists (text) returns boolean as ' declare p_tablename alias for $1; temp_nametext; begin select tablename from pg_tables into temp_name where tablename = p_tablename; if not found then raise notice ''Table % not found.'', p_tablename; return false; else execute ''drop table '' || p_tablename; raise notice ''Table % dropped.'', p_tablename; return true; end if; end ; ' language 'plpgsql'; you will need to 'Select f_dropTableIfExists([TableName]);' to execute the function. FAIK the main difference carrying out the operation this way rather than just DROP TABLE is to avoid an ERROR being raised if the object does not exist. Hih Steve Boyle PS. If anyone knows a better way of doing this pls post "Rick Dayao" <rickd@open-works.com> wrote in message news:4eee2f8d.0112271854.276c1152@posting.google.com... > I am trying to solve this problem: > > If a table exists, drop the table, otherwise continue processing. > > For example, if table X exists, then drop table X. How would I do > this in SQL? I can query the pg_tables table to see which tables > exist, but I'm looking for an If-Else construct in SQL. > > Thanks in advance, > > Rick
В списке pgsql-sql по дате отправления: