Конференция "Базы" » Можно ли определить таблицу и запись , которая не даёт удалить...
 
  • Anatoly Podgoretsky © (12.02.08 20:57) [20]
    > ЮЮ  (12.02.2008 12:07:18)  [18]

    Немец, айн, цвай, драй, полицай, то есть пожизненый цик с гвоздями.
    Но авторы это могут красиво обосновывать.
  • Сергей М. © (14.02.08 09:23) [21]
    http://www.codenet.ru/db/interbase/sysib.php

    читать гл. "Ограничения" до полного просветления)
  • Prohodil Mimo © (25.02.08 14:06) [22]
    ЮЮ ©   (12.02.08 12:07) [18]
    P.Ы. Откуда такая извращенная фантазия при наименовании таблиц и полей?


    это просто пример, что бы понятнее и нагляднее было и было видно ИД и ФК.
    Или надо было кусок реальной базы запостить?

    Сергей М. ©   (14.02.08 9:23) [21]
    спасибо, но вопрос был не об этом. Как это всё получить я и так знаю, я просто искал более простой путь, а вернее хотел узнать, нельзя ли получить именно то место, о которое запнулся сервер. Он то его уже и так нашёл, мог бы и поделиться координатами, вместо простого сообщения, что запнулся. А так я получил отказ и начинаю сам продклывать тот же путь для выяснения где это произошло. А хотклось бы без такого.
  • ЮЮ © (26.02.08 03:02) [23]
    > Он то его уже и так нашёл, мог бы и поделиться координатами


    При попытке удалить master-запись из таблицы 'Lesson', он ничего не скрывает и точно указывает координаты:

    DELETE statementt conflicted with COLUMN REFERENCE constraint 'FK_TeacherConnections_Lessons'. The conflict occured in database 'Tests', table 'TeacherConnections', column 'Lesson'. Statement nas been terminated.

    а если тебя интересует конкретный ID, то кто мешает при при исключении  под IDE посмотреть текст SQL, выполнение которого привело к ошибке?
  • Prohodil Mimo © (27.02.08 22:57) [24]
    ЮЮ ©   (26.02.08 3:02) [23]
    DELETE statementt conflicted with COLUMN REFERENCE constraint 'FK_TeacherConnections_Lessons'. The conflict occured in database 'Tests', table 'TeacherConnections', column 'Lesson'. Statement nas been terminated.


    это FB выдаёт?

    FB выдаёт такое:
    Violation of FOREIGN KEY constraint "".
    Violation of FOREIGN KEY constraint "INTEG_132" on table "LIGUMI".
    Foreign key references are present for the record.
  • ЮЮ © (28.02.08 10:34) [25]
    > Violation of FOREIGN KEY constraint "INTEG_132" on table
    > "LIGUMI".

    если бы не экономил нв буквах и писал

    CREATE TABLE TEBLE_2(
    ID_T2 INTEGER NOT NULL,
    ID_T1 INTEGER CONSTRAINT FK_TABLE2_TABLE1 REFERENCES TABLE_1(ID_T1) ON DELETE CASCADE,
    T2_NAME VARCHAR(10),
    PRIMARY KEY(ID_T2));

    тогда всесто  "INTEG_132" и получил бы внятное  FK_TABLE2_TABLE1
  • Alien1769 © (28.02.08 12:10) [26]
    Пост [16] - ответа так и нет.

    Автору:
    тебе уже все ответили, только кушай.

    > ЮЮ ©   (28.02.08 10:34) [25]
  • Prohodil Mimo © (28.02.08 15:21) [27]
    ЮЮ ©   (28.02.08 10:34) [25]
    тогда всесто  "INTEG_132" и получил бы внятное  FK_TABLE2_TABLE1


    я в курсе, но мне не это надо.
    мне надо програмно разобрать это сообщение об ошибке и пользователю преподнести в виде
    типа "Данный документ удалить невозможно, т.к. он используется в строке №4 счёта №12/2008"

    ЗЫ. что хотел, я уже узнал. Так что сделаю, как время появится.
  • ЮЮ © (29.02.08 04:28) [28]
    > я в курсе, но мне не это надо.
    > мне надо програмно разобрать это сообщение об ошибке и пользователю
    > преподнести в виде
    > типа "Данный документ удалить невозможно, т.к. он используется
    > в строке №4 счёта №12/2008"


    А сделать то же самое на клиенте до попытки удаления записи религия не позволяет?
    Нормальный клиент вообще должен дизайблить кнопку "Удалить" и енайблить кнопку "Связанные документы" на таких записях :)
  • Prohodil Mimo © (29.02.08 12:36) [29]
    ЮЮ ©   (29.02.08 4:28) [28]
    А сделать то же самое на клиенте до попытки удаления записи религия не позволяет?


    зачем делать двойную работу?


    > Нормальный клиент вообще должен дизайблить кнопку
    > "Удалить" и енайблить кнопку "Связанные документы" на
    > таких записях

    спасибо за наведение на одну интересную мыслю :о)
  • pastor © (04.03.08 10:08) [30]
    Есть такой компонент TpFibErrorHandler в FIBPlus.
    Единственное, что мне оттуда пригодилось.
 
Конференция "Базы" » Можно ли определить таблицу и запись , которая не даёт удалить...
Есть новые Нет новых   [134431   +14][b:0][p:0]