Добавление нескольких ограничений в ORACLE с помощью ALTER TABLE - PullRequest
0 голосов
/ 17 марта 2020

Есть ли способ добавить несколько ограничений в Oracle одновременно с помощью команды ALTER TABLE? Я знаю, что это возможно с SQL сервером.

ALTER TABLE l_customer_order 
    ADD CONSTRAINT pk_l_customer_order 
        PRIMARY KEY (customer_order_id_hk),
    CONSTRAINT fk_customer_id_hk 
        FOREIGN KEY (customer_id_hk) 
        REFERENCES h_customers(customer_id_hk)
        ON DELETE CASCADE,
    CONSTRAINT fk_order_id_hk 
        FOREIGN KEY (order_id_hk) 
        REFERENCES h_orders(order_id_hk)
        ON DELETE CASCADE;

Сообщение об ошибке:

Error report -
ORA-01735: invalid ALTER TABLE option
01735. 00000 -  "invalid ALTER TABLE option"
*Cause:    
*Action:

1 Ответ

3 голосов
/ 17 марта 2020

Поместите ограничения в скобки:

create table t (
  c1 int, c2 int, c3 int
);

alter table t
  add ( 
    constraint pk 
      primary key ( c1 ),
    constraint ck 
      check ( c2 > 0 )
  );

select constraint_name 
from   user_constraints
where  table_name = 'T';

CONSTRAINT_NAME   
CK                 
PK     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...