Отсутствует скобка в вершине - PullRequest
1 голос
/ 09 ноября 2019

Я пытаюсь написать скрипт в Apex для создания нескольких таблиц. Первая таблица создана без проблем, но каждая таблица после этой дает мне проблему с пропущенными скобками. Иногда это слева, иногда это право. Я попробовал все безрезультатно.

Я неоднократно отлаживал его, общался с другими и не нашел решения.

Create Table Employee -- Creates Employee table and references it to ProjDept table
(
EmployeeID Number(4) Not Null,
FirstName VarChar2(15) Not Null,
LastName VarChar2(20) Not Null,
ProjDeptID Number(4) Not Null,
PhoneNumber Number(10),
Constraint Employee_pk Primary Key (EmployeeID), -- sets primary key for table
Constraint Employee_FK Foreign Key References ProjDept(ProjDeptID)-- identifies foreign key 
);

Это вторая таблица в сценарииэто не сработает, следующие 2 таблицы приводят к схожим ошибкам.

Ответы [ 2 ]

4 голосов
/ 09 ноября 2019

Вы забыли включить имя столбца, который ссылается на другой, во внешнем ключе:

Create Table Employee (
EmployeeID Number(4) Not Null,
FirstName VarChar2(15) Not Null,
LastName VarChar2(20) Not Null,
ProjDeptID Number(4) Not Null,
PhoneNumber Number(10),
Constraint Employee_pk Primary Key (EmployeeID), -- sets primary key for table
Constraint Employee_FK Foreign Key (ProjDeptId) References ProjDept(ProjDeptID)-- identifies foreign key 
);

db <> fiddle

0 голосов
/ 09 ноября 2019

Где точно в Apex вы выполняете эти команды?

Если в SQL Workshop Команды SQL , то в нем не может быть более одной команды, то есть вы должны создавать таблицы одну за другой:

  • создайте первую таблицу
  • , удалите эту команду create table и напишите другую для второй таблицы;затем создайте его
  • то же самое относится и к другим таблицам

В качестве альтернативы перейдите к SQL-сценариям SQL Workshop и поместите все свои команды в сценарий, например

create table a (id number, name varchar2(20), ...);
create table b (cdate date, ...);

сохранить и запустить скрипт.

...