Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать наличие таблицы в базе 
:(
    Опции темы
wallstreet
Дата 7.4.2015, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 11.8.2011

Репутация: нет
Всего: нет



Добрый день.
Я создаю таблицы программно из своего приложения
Код

sprintf(chQuery, "select myschema.create_table('%s');", pair);
res = PQexec(conn, strQuery);

Если таблицы с подобным названием нет, база возвращает 2 (подозреваю это означает PGRES_TUPLES_OK)
Код

if (PQresultStatus(res) != PGRES_TUPLES_OK)
{
    return false;
}

однако если такая таблица уже имеется, то возвращает 7 (подозреваю это PGRES_FATAL_ERROR).
Могу конечно ошибаться в толковании возвращаемых значений, тогда поправьте.
Однако если это так, то возникает вопрос, если база вернула PGRES_FATAL_ERROR как понять, что это означает наличие таблицы в базе, которую пытаюсь создать? Ведь эта ошибка может появляться и в других случаях, например, если я сформировал запрос c нарушением синтаксиса.
Если подытожить, то как можно узнать что таблица с таким именем уже присутствует в базе ?

PM MAIL   Вверх
Zloxa
Дата 7.4.2015, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3470
Регистрация: 12.9.2008

Репутация: 3
Всего: 161



Цитата(wallstreet @  7.4.2015,  17:35 Найти цитируемый пост)
как можно узнать что таблица с таким именем уже присутствует в базе ?


tables view

Цитата(wallstreet @  7.4.2015,  17:35 Найти цитируемый пост)
Я создаю таблицы программно из своего приложения

Лишь в частных случаях это не есть признак плохого дизайна .

Это сообщение отредактировал(а) Zloxa - 7.4.2015, 17:13


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
wallstreet
Дата 7.4.2015, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 11.8.2011

Репутация: нет
Всего: нет



Цитата(Zloxa @  7.4.2015,  17:13 Найти цитируемый пост)
Лишь в частных случаях это не есть признак плохого дизайна .

Таблицы создаются в зависимости от тех данных с которыми пользователь изволил работать выбрав соответствующие настройки конфигураций работы приложения. Создаются приблизительно один раз в квартал, потом они в любом случае будут неактуальны. Постоянные таблицы же созданы заранее.


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PostgreSQL | Следующая тема »


 




[ Время генерации скрипта: 0.1008 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.