powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / DBD::Pg и комплексный тип (record)
3 сообщений из 3, страница 1 из 1
DBD::Pg и комплексный тип (record)
    #33428402
Подскажите, пожалуйста, как мне быть в такой ситуации:

//например имеем такую базу данных
CREATE TYPE test_type AS (
f1 varchar,
f2 int,
f3 int
);

CREATE TABLE test_table (
ttest test_type,
i int2
);

Как используя DBD::Pg работать (INSERT/SELECT) с таблицей test_table?

Почему-то это не освещено в документации к DBD::Pg :(
...
Рейтинг: 0 / 0
DBD::Pg и комплексный тип (record)
    #33429273
не может же быть, что можно только:

INSERT INTO test_table(ROW('test',1,2),3);

и

SELECT ttest FROM test_table;

К тому же, в случае с SELECT, ttest возвращается как строка, а не как набор полей. приходится проводить дополнительную обработку.
...
Рейтинг: 0 / 0
DBD::Pg и комплексный тип (record)
    #33429331
-me-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гм, не понял.
Вы что, например, хотите:
Код: plaintext
1.
2.
3.
4.
($var) = $conn->selectrow_array("select ttest from test_table");
print $var->{'f1'};
$var->{'f2'} =  10 ;
$conn->do("UPDATE test_table SET ttest = ?", $var);
Нет?

Тогда что мешает:
Код: plaintext
1.
2.
select (ttest).f1 as ttest_f1, (ttest).f2 as ttest_f2 from test_table;
update test_table set ttest.f1 = 'blablabla';

если мне маразм не изменяет, то даже массивы PostgreSQL поддерживаются только в паре нераспространенных драйверов (где-то мелькал для python, и где-то в OpenOffice), но не в JDBC и DBD::Pg.
А уж composite types - так, по-моему, вообще нигде. :(
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / DBD::Pg и комплексный тип (record)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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