Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как изменить значение поля при вставке? / 5 сообщений из 5, страница 1 из 1
30.01.2005, 14:35
    #32891136
etsilop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как изменить значение поля при вставке?
вобщем задача заключается в конвертировании данных из dbf в PostgreSQL написал простой скрипт который берёт структуру dbf и на её основе формирует в PostgreSQL таблицу, таблиц немеряно данных тоже... вобщем столкнулся с фигнёй - в dbf в поле L 0 или 1 постгрес при вставке на него ругается
ERROR: column "kdp" is of type boolean but expression is of type integer at ./dbf2pg.pl line 50
вот всю ночь бился - пытался сделать rule чтобы проверяло такие поля и заменяло 1 и 0 на true/false - ничего толкового не вышло :( help народ, кто может делал подобное - подскажите.
...
Рейтинг: 0 / 0
31.01.2005, 03:25
    #32891484
фффф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как изменить значение поля при вставке?
Для INSERT надо закавычивать '1' и '0'.
COPY понимает 1, 0 без кавычек.
...
Рейтинг: 0 / 0
01.02.2005, 15:48
    #32895005
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как изменить значение поля при вставке?
Я использую везде вместо boolean тип integer. :-0

P.S.: Как-то в базе на аксессе сделал поле булеан, и запрос "select sum(это_поле)" вернул "-5". Насколько я понял, false=0, true=-1. Это было неожиданно. :-)
...
Рейтинг: 0 / 0
01.02.2005, 16:49
    #32895220
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как изменить значение поля при вставке?
LeXa NalBatЯ использую везде вместо boolean тип integer. :-0

P.S.: Как-то в базе на аксессе сделал поле булеан, и запрос "select sum(это_поле)" вернул "-5". Насколько я понял, false=0, true=-1. Это было неожиданно. :-)

зы (к ЗЫ)
В аксессе булеан еще и места практически не занимает (8 буленов - в один байт). Правда из-за этого в него Null не помещается. А из-за этого группировки по буленову полю в Аксесе при неполном аутер джойне имеют свойство вызывать системные ашипки (если не подшаманивать, меняя тип в запросе).
...
Рейтинг: 0 / 0
16.02.2005, 11:04
    #32917916
как изменить значение поля при вставке?
Создай один общий триггер, и там попробуй все это сделать:
смотришь на тип переменной, если булеан - смотришь на содержимое, и заменяешь его. В оракле так можно было. В постгресе тоже неверно можно.
В оракле, например, emp.sal%TYPE означает тип поля sal в таблице emp.
проверь то же самое в Postgres
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как изменить значение поля при вставке? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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