Почему этот оператор CREATE TABLE вызывает «ORA-00922 отсутствует или недопустимый параметр»? - PullRequest
3 голосов
/ 05 декабря 2011

Я экспортировал схему из одной базы данных Oracle, используя SQL Developer (инструменты -> выгрузить базу данных).Он создал операторы «создать таблицу», подобные этому:

CREATE TABLE "APP_USER" 
   (    "ID" NUMBER(*,0), 
    "USERNAME" VARCHAR2(200), 
    "PASSWORD" NVARCHAR2(200), 
    "TYPE" VARCHAR2(20), 
    "FIRST_NAME" VARCHAR2(100), 
    "LAST_NAME" VARCHAR2(100)
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "LIS_DATA" ;

Но когда я пытаюсь выполнить код в другой базе данных, также из SQL Developer, он запускает «ORA-00922 отсутствует или недопустим»».

Очевидно, что что-то не так с разделом хранения запроса (начиная с «SEGMENT» и заканчивая «DEFAULT)», потому что, если я удаляю его, он работает.Но что именно?

Я просто разработчик приложений, которому приходится работать с Oracle.Я в порядке с SQL, но этот материал для параметров хранения Oracle для меня китайский.Кроме того, я озадачен тем, что SQL Developer генерирует неверный код ...

Ответы [ 2 ]

8 голосов
/ 05 декабря 2011

Я не знаком с "немедленным созданием сегмента". Кажется, это особенность 11G. Возможно, вы пытаетесь создать таблицу с использованием функций 11G в базе данных более старой версии.

0 голосов
/ 05 декабря 2011

С ЗДЕСЬ :

ORA-00922: отсутствует или недействителен параметр Причина:

В определении столбца или условия хранения указан недопустимый параметр.Допустимая опция при указании столбца - NOT NULL, чтобы указать, что столбец не может содержать значения NULL.Только ограничения могут следовать за типом данных.Указание максимальной длины для типа данных DATE или LONG также вызывает эту ошибку.Действие: исправьте синтаксис.Удалите ошибочную опцию или спецификацию длины из столбца или спецификации хранения.

...