Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / не работает внешний ключ в DB2 / 4 сообщений из 4, страница 1 из 1
27.07.2007, 15:18
    #34689442
ssergio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает внешний ключ в DB2
у меня проблема!!!!!!
испольщую RHE, DB2 8.2.7

Есть таблица, в ней петлевая связь. Для этой связи стоит on delete cascade . Я пытаюсь удалить головную запись. Она удаляется без проблем. Но при этом дочерние записи не стираются. Я выполнил запрос... Действительно есть записи ссылающиеся на несуществующие. Получается так что внешний ключ отказывается работать...
При этом когда я удаляю внешний ключ и пытаюсь его создать по новой, он начинает ругаться....

У кого-нибуть, когда-нибуть была подобная проблема. Может быть порекомндуете, что можно сделать?
...
Рейтинг: 0 / 0
27.07.2007, 15:46
    #34689551
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает внешний ключ в DB2
Покажите ddl таблицы и ключа.
...
Рейтинг: 0 / 0
27.07.2007, 15:54
    #34689587
ssergio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает внешний ключ в DB2
alter table STH_PAY_FILE
add constraint FK_PFL_PFL foreign key (PFL_PARENT_ID)
references STH_PAY_FILE (PFL_ID)
on delete cascade

create table STH_PAY_FILE
(
PFL_ID BIGINT not null,
PFL_PARENT_ID BIGINT,
ERR_ID BIGINT,
PAT_ID INTEGER,
FF_ID BIGINT,
RFL_IDENTIFIER VARCHAR(100),
PFL_CONTENT CLOB(50M),
PFL_RECEIVE TIMESTAMP not null,
PFL_ERROR_DESC VARCHAR(1000),
PFL_ERROR_FLD_VAL VARCHAR(200),
PFL_ZIP_FILE_NAME VARCHAR(100),
PFL_ZIP_ENTRY_NAME VARCHAR(100),
PFL_IDENT_RECIEVER VARCHAR(21),
PFL_PROCESS_FLAG INT

constraint C_PFL_PROCESS_FLAG check (PFL_PROCESS_FLAG is null or ( PFL_PROCESS_FLAG in (0,1,2) )),
PFL_ACCEPTED_DOC_QUANTITY INT,
PFL_IDENT_DOC VARCHAR(33),
PFL_STATUS SMALLINT

constraint C_PFL_STATUS check (PFL_STATUS is null or ( PFL_STATUS in (0,1,2,3,4,5) )),
PFL_BUF_DOC_QUANTITY INTEGER,
constraint PK_PFL primary key (PFL_ID)
)


могу добавить, что в принципе эта ситуация проявляется не каждый раз...
т.е. в большенстве случаев все работает как и должно, но в некоторых случаях работает ровно так как я описал.... к сожалению закономерность этих случаев я понять пока не могу...
...
Рейтинг: 0 / 0
28.07.2007, 00:10
    #34690450
gals
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает внешний ключ в DB2
На 8-й версии я этим не баловался. В 6-й и 7-й версиях такая фича, как on delete cascade на саму себя не работала. В помощ шла кулинарная книга с примерами триггеров.
То что удаление заработало, я помню точно. Только через пару дней пришлось всё это прибить, поскольку понадобилось к этой таблице привязать еще и другие таблицы, которые удалять каскадом нельзя.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / не работает внешний ключ в DB2 / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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