Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > PgSQL + Zeos 6 и использование :: в запросе


Автор: SergSW 29.7.2010, 14:07
Работаю с PgSQL через Zeos 6.6.6.
Столкнуля с такой проблемой пытаюсь выполнить запрос 

Код

CREATE TABLE events(id int4 NOT NULL DEFAULT nextval('events_id_seq'::regclass),id_session int4,operation int2,object varchar(255) DEFAULT NULL::character varying,datetime timestamp);


запрос в рабочий. Но при попытке выполнить ругается на ":". В режиме отладки вижу 

Код

CREATE TABLE events(id int4 NOT NULL DEFAULT nextval('events_id_seq':regclass),id_session int4,operation int2,object varchar(255) DEFAULT NULL:character varying,datetime timestamp);


т.е. Zeos убирает одно ":" как мне кажется он их пытается как параметр подставить.

Как можно от этого избавиться?

Добавлено @ 14:12
Есть конечно вариант искать :: и их заменять на :::: но это как-то не очень красиво

Автор: RockClimber 2.8.2010, 10:05
А принципиально писать
Код

CREATE TABLE events(id int4 NOT NULL DEFAULT nextval('events_id_seq':regclass) ...

Может, проще 
Код

CREATE TABLE events(id bigserial, ...

При объявлении типа bigserial postgres автоматом создаст последовательность events_id_seq.

Добавлено через 2 минуты и 34 секунды
Default Null тоже необязательно писать.
Если дефолтное значение поля не указано, то дефолтным назначается null (в доках постгреса это написано).

Автор: SergSW 23.8.2010, 06:12
Цитата(RockClimber @ 2.8.2010,  12:05)
А принципиально писать...
Может, проще...

проще, но проблема в том что  типы я вытаскиваю из системных таблиц pgsql.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)