|
|
|
Подзапрос в check constraint в hsqldb
|
|||
|---|---|---|---|
|
#18+
Пытаюсь создать таблицу в hsqldb 2.0 (прошу не рефлексировать насчёт названий полей в транслите - делаю для себя): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. При этом в документации по hsqldb написано: автор(Chapter 4. Schemas and Database Objects) <...> CHECK A CHECK constraint consists of a <search condition> that must not be false (can be unknown) for each row of the table. The <search condition> can reference all the columns of the current row, and if it contains a <subquery>, other tables and views in the database (excluding its own table). Т.е., как я понял, подзапросы таки должны поддерживаться. Если позапросы не поддерживаются, то как ещё можно реализовать данное ограничение на уровне БД (не хотелось бы выносить логику модели данных на уровень приложения)? Требуется, чтобы если kategoriya_operacii.deystvie_id для данного kategoriya_id равно 2, значение dengohranilische_nanz_id было не NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2010, 08:20 |
|
||
|
Подзапрос в check constraint в hsqldb
|
|||
|---|---|---|---|
|
#18+
Одну ошибку нашёл: пропустил IS в условии проверки на NULL. Теперь выдаёт другое изключение: "SQLException: feature not supported: subquery in check constraint in statement". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2010, 09:48 |
|
||
|
Подзапрос в check constraint в hsqldb
|
|||
|---|---|---|---|
|
#18+
skywriterОдну ошибку нашёл: пропустил IS в условии проверки на NULL. Теперь выдаёт другое изключение: "SQLException: feature not supported: subquery in check constraint in statement"."Исключение SQL: возможность не поддерживается: подзапрос в определении check-ограничения". Что тут непонятного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2010, 10:11 |
|
||
|
Подзапрос в check constraint в hsqldb
|
|||
|---|---|---|---|
|
#18+
tanglir, 1. Если подзапросы в CHECK-ограничении не поддерживаются, то почему в документации упомянута возможность изпользования подзапросов в CHECK-ограничении: "The <search condition> can reference all the columns of the current row, and if it contains a <subquery>, other tables"? 2. Как ещё можно реализовать отмену вставки, если вставляемые значения не соответствуют определённому условию? Пробовал триггер: Код: plaintext 1. 2. 3. Но этот код выдаёт: SQLException: unexpected token: SIGNAL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2010, 11:05 |
|
||
|
Подзапрос в check constraint в hsqldb
|
|||
|---|---|---|---|
|
#18+
skywriter1. Если подзапросы в CHECK-ограничении не поддерживаются, то почему в документации упомянута возможность изпользования подзапросов в CHECK-ограниченииЯ сегодня впервые в жизни услышал название этой СУБД(?). Спросите у авторов. 2. попробуйте не сигналить, а тупо делить на 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2010, 11:11 |
|
||
|
|

start [/forum/topic.php?fid=56&msg=36985456&tid=2015525]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 484ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...