|
|
|
check constraint
|
|||
|---|---|---|---|
|
#18+
Всем привет. Версия: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production Пример 1 (все ок). Код: plsql 1. 2. 3. 4. 5. Код: plsql 1. COL1 LENGTH(COL1) LENGTHB(COL1)86149130966535718a 20 20 Код: plsql 1. 2. 3. 4. 5. COL1 LENGTH(COL1) LENGTHB(COL1)86149130966535718a 18 18 Пример 2. Все то же самое, что и в примере 1, но добавляем любой check constraint на столбец. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Получаю Error starting at line : 57 in command - alter table tst_char modify(col1 varchar2(20 byte)) Error report - SQL Error: ORA-01439: модифицируемый столбец при смене типа данных должен быть пуст 01439. 00000 - "column to be modified must be empty to change datatype" *Cause: *Action: Можно ли как-то решить этот вопрос без drop/create constraint? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2017, 18:11 |
|
||
|
check constraint
|
|||
|---|---|---|---|
|
#18+
Lary DenisМожно ли как-то решить этот вопрос без drop/create constraint?В constraint-е могут быть условия, зависящие от comparison semantic, которая разная у varchar2 vs char, а стало быть данные могут нарушать ограничение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2017, 18:20 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39423487&tid=1886256]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 474ms |

| 0 / 0 |
