Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / инхеританс - как из предка потомка сделать и наоборот без удаления/вставки? / 4 сообщений из 4, страница 1 из 1
25.11.2006, 13:54
    #34155295
aov
aov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инхеританс - как из предка потомка сделать и наоборот без удаления/вставки?
инхеританс - как из предка потомка сделать и наоборот без удаления/вставки?
...
Рейтинг: 0 / 0
26.11.2006, 13:51
    #34155899
aov
aov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инхеританс - как из предка потомка сделать и наоборот без удаления/вставки?
памагите пожалуйста . . .
...
Рейтинг: 0 / 0
26.11.2006, 17:25
    #34156094
Jelis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инхеританс - как из предка потомка сделать и наоборот без удаления/вставки?
CREATE TABLE Table1 () INHERITS Table2; ???
Что значит " без удаления/вставки "?
...
Рейтинг: 0 / 0
26.11.2006, 20:43
    #34156280
aov
aov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
инхеританс - как из предка потомка сделать и наоборот без удаления/вставки?
а :) ну в смысле не о таблицах я - а о записях. например у меня три таблицы - предок и 2 потомка с разной специализацией. и у меня задачка использовать id предка для связи с другой таблицей. ну т.е. чтобы не зависимо от их специализации можно было выборку сделать - и чтобы целостность данных отслеживать легче было. но только есть смутные подозрения, что может понадобиться преобразование записей из этих таблиц друг в друга. возможно ли это?
например вот таблицы:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
create table t1 (id serial primary key,name text unique);
create table t2 (col1 text not null)inherits(t1);
create table t3 (col1 text unique not null,col2 int)inherits(t1);

create table t4(id serial primary key,fk_t123 int references t1(id) on update cascade on delete cascade not null,descr text);

insert into t1(name)values('t1name1');
insert into t2(name,col1)values('t2name1','col1_1');
insert into t3(name,col1,col2)values('t3name1','col1_1', 123 );

insert into t4(fk_t123,descr)values( 1 ,'ссылается на t1');
--insert into t4(fk_t123,descr)values(2,'ссылается на t2 - не хотит :(');
--insert into t4(fk_t123,descr)values(3,'ссылается на t3 - не хотит :(');
--insert into t4(fk_t123,descr)values(111,'НЕ ВСТАВИТСЯ!!!');
select * from t1;
select * from t2;
select * from t3;
select * from t4;

блин (: - шото меня вообще постигло жестокое разочарование :( я думал что только последняя закомментированная строка не вставится. а вообще вся эта возня была ради предпоследних двух закомментированных инсертов. блин - абыдно до слёз. или может я чёто не так делаю?

короче ещё один тогда вопрос добавляется: как сделать чтобы в этом листинге сверху работали строки вот эти:
Код: plaintext
1.
2.
insert into t4(fk_t123,descr)values( 2 ,'ссылается на t2 - не хотит :(');
insert into t4(fk_t123,descr)values( 3 ,'ссылается на t3 - не хотит :(');
т.е. мне нужно чтобы первичный ключ у 3-х таблиц был один на троих - и чтобы его можно было использовать для связи с другой таблицей - и связь эта тоже должна быть одной на троих.

ну и первый вопрос так переформулирую: нужно преобразовать запись допустим таблицы t1 в таблицу t2. т.е. вариант просто удалить и вставить мне очень не нравится - т.к. геморой большой будет с записями в t4 при этом.

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


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