Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как сделать, чтобы система проверла рег. номера, кроме того, который уже присвоен данному / 5 сообщений из 5, страница 1 из 1
09.12.2013, 15:01
    #38494158
Алексей_Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать, чтобы система проверла рег. номера, кроме того, который уже присвоен данному
Помогите, пожалуйста, решить проболему

Создаю извещение в докумене. Вбиваю значение в поле "рег. номер". При сохранении система проверяет в базе наличие такого же рег.номера, если такой номер уже есть, система выдает ошибку.
Теперь редактирую у этого же документа данное извещение ("Рег номер" уже присвоен данному извещению). При сохранении ошибка, о существовани этого номреа.
Как сделать, чтобы система проверла рег. номера, кроме того, который уже присвоен данному извещению?!
...
Рейтинг: 0 / 0
09.12.2013, 15:19
    #38494194
haXbat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать, чтобы система проверла рег. номера, кроме того, который уже присвоен данному
Алексей_ЯПри сохранении система проверяет в базе наличие такого же рег.номера, если такой номер уже есть, система выдает ошибку.
Я правильно понимаю, что сейчас проверка написана вручную, без использования уникального индекса на уровне БД?
Опишите технические подробности того, как и что было сделано в apex.
...
Рейтинг: 0 / 0
09.12.2013, 15:45
    #38494229
Алексей_Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать, чтобы система проверла рег. номера, кроме того, который уже присвоен данному
haXbat,

Проверка написана вручную.
Просто на данное поле поставлена валидация:

SELECT change_start_number
FROM change, doc
WHERE change_start_number = :P15_change_start_number
and doc_id = change_doc_id

change_doc_id - это id изменяемого документа.
...
Рейтинг: 0 / 0
09.12.2013, 16:29
    #38494307
haXbat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать, чтобы система проверла рег. номера, кроме того, который уже присвоен данному
Алексей_Я,

Понятно. Даже если вы напишите правильно такую "проверку", то при многопользовательском режиме она не будет работать корректно - номера будут задваиваться. Т.е. если два пользователя ввели один и тот же номер, одновременно нажали на кнопочку "Сохранить", то в базе окажется два одинаковых номера.

Я бы добавил на табличку уникальный индекс (включил бы в Primary key, смотря что-то там у вас за структура), убрал проверку из apex, сделал красивую обработку "unique constraint violated".
...
Рейтинг: 0 / 0
12.12.2013, 13:19
    #38498406
Алексей_Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать, чтобы система проверла рег. номера, кроме того, который уже присвоен данному
haXbat,

Благодарю за совет!
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как сделать, чтобы система проверла рег. номера, кроме того, который уже присвоен данному / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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