ORA-00907: отсутствует правая скобка в запросе ALTER TABLE Table_Name MODIFY Column_Name - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть база данных, где я хочу выполнить этот запрос SQL:

ALTER TABLE PARAM_DEF MODIFY UNIT VARCHAR2(400 BYTES);

В SQL Server это работает без проблем, но в Oracle я получаю эту ошибку:

Error report -
SQL Error: ORA-00907: missing right parenthesis
00907. 00000 -  "missing right parenthesis"

Почему это не работает в моей базе данных Oracle?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Ключевыми словами для семантики длины символа являются CHAR и BYTE - не BYTES, поэтому просто исправьте следующее:

ALTER TABLE PARAM_DEF MODIFY UNIT VARCHAR2(400 BYTE);

Демонстрация:

create table param_def (unit varchar2(200 byte));

Table PARAM_DEF created.

ALTER TABLE PARAM_DEF MODIFY UNIT VARCHAR2(400 BYTE);

Table PARAM_DEF altered.

desc param_def

Name Null? Type          
---- ----- ------------- 
UNIT       VARCHAR2(400) 
0 голосов
/ 20 февраля 2019

Удалить bytes в varchar2

   ALTER TABLE PARAM_DEF MODIFY 
   UNIT VARCHAR2(400);
...