powered by simpleCommunicator - 2.0.33     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / [PostgreSQL] Проверить существование таблицы
5 сообщений из 5, страница 1 из 1
[PostgreSQL] Проверить существование таблицы
    #32010638
LionSoftware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hello, ALL.

Пишу некую функцию вставки в таблицу данных в PostgreSQL. Перед вставкой я хотел бы проверить, существует такая таблица или нет - как это сделать??? Пример функции:

CREATE FUNCTION test_func (text) RETURNS text AS '
DECLARE
param ALIAS FOR $1;
retval text;
BEGIN
IF не_существует_таблица(param) THEN
CREATE TABLE param ...;
END IF;
INSERT INTO param ....;
END;
' LANGUAGE 'plpgsql';

Как вот проверить не_существует_таблица(param)???

____
Lion
...
Рейтинг: 0 / 0
[PostgreSQL] Проверить существование таблицы
    #32021999
Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
SELECT relname INTO table_name FROM pg_class WHERE relname=param;
IF table_name ISNULL THEN
...
...
Рейтинг: 0 / 0
[PostgreSQL] Проверить существование таблицы
    #32023235
Infection
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
if exists(select 1 from sys.systable where table_name='param' and table_type='BASE') then
drop table param
end if;

ну.. или если не существует, то создать ее
...
Рейтинг: 0 / 0
[PostgreSQL] Проверить существование таблицы
    #32023246
Infection
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
предыдущий пример бял для Sybase

для постгреса вот такой запросец

select * from pg_tables where tablename='table_name'
...
Рейтинг: 0 / 0
[PostgreSQL] Проверить существование таблицы
    #32027215
Dinar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для постгреса вот такой запросец

select * from pg_tables where tablename='table_name'

но данная функция должна выполняться от суперюзера, т.к. обычный юзер не имеет доступа к системной бд
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / [PostgreSQL] Проверить существование таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]