powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Constraints
12 сообщений из 12, страница 1 из 1
Constraints
    #39946262
endy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все доброго времени суток. Есть два вопроса по поводу ограничений (constrain) в oracle sql.

1. Как можно узнать название constraint-а, если я задавал ограничение без названия, поэтому не знаю название, которое было присвоено автоматически.

2. Можно ли удалить constraint без указания названия?

Спасибо заранее.)
...
Рейтинг: 0 / 0
Constraints
    #39946265
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
endy
1. Как можно узнать название constraint-а, если я задавал ограничение без названия, поэтому не знаю название, которое было присвоено автоматически.
database reference. static dictionary views

endy
2. Можно ли удалить constraint без указания названия?
sql reference. alter table
...
Рейтинг: 0 / 0
Constraints
    #39946274
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. all_constraints

2. ALTER TABLE DROP [CONSTRAINT]
...
Рейтинг: 0 / 0
Constraints
    #39946372
endy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Спасибо за помощь, но у меня не получилось.
Можете указать точную команду? Я так понимаю невозможно удалить ограничение без его названия. Так?
...
Рейтинг: 0 / 0
Constraints
    #39946373
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня не получилось.

Обычно приводят команду и результат.

Можете указать точную команду?

ALTER TABLE DROP [CONSTRAINT]

невозможно удалить ограничение без его названия.

Да.
...
Рейтинг: 0 / 0
Constraints
    #39946391
tauzar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтобы найти название вашего constraint напишите запрос:
select * from all_constraints;

Найдите свою таблицу, там увидете имя сonstraint
...
Рейтинг: 0 / 0
Constraints
    #39946419
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
endy
невозможно удалить ограничение без его названия

Некоторые можно. Подробности в справке по указанной команде.
...
Рейтинг: 0 / 0
Constraints
    #39946420
endy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tauzar,

Спасибо большое.
...
Рейтинг: 0 / 0
Constraints
    #39946421
endy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильный Вася,

Спасибо большое, можете дать link на какой нибудь источник? В документации к этой команде я не смог найти чего то такого.
...
Рейтинг: 0 / 0
Constraints
    #39946442
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
endy,

Тренируй внимательность.
https://docs.oracle.com/database/121/SQLRF/statements_3001.htm#i2103845
...
Рейтинг: 0 / 0
Constraints
    #39946506
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
endy,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
SQL> drop table t;

Table dropped.

SQL> create table t(id int not null,n varchar2(10));

Table created.

SQL> select TABLE_NAME,CONSTRAINT_NAME,SEARCH_CONDITION  from user_constraints where TABLE_NAME='T';

TABLE_NAME                     CONSTRAINT_NAME                SEARCH_CONDITION
------------------------------ ------------------------------ --------------------------------------------------------------------------------
T                              SYS_C001831407                 "ID" IS NOT NULL


SQL> alter table T drop constraint SYS_C001831407;

Table altered.

SQL> select TABLE_NAME,CONSTRAINT_NAME,SEARCH_CONDITION  from user_constraints where TABLE_NAME='T';

no rows selected

SQL> drop table t;

Table dropped.

SQL> create table t(id int not null,n varchar2(10));

Table created.


SQL> alter table T modify (id null);

Table altered.

SQL> select TABLE_NAME,CONSTRAINT_NAME,SEARCH_CONDITION  from user_constraints where TABLE_NAME='T';

no rows selected

SQL> desc t
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(38)
 N                                                  VARCHAR2(10)

SQL>



....
stax
...
Рейтинг: 0 / 0
Constraints
    #39947183
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
create table dropme_t(pk int primary key, uk int unique not null);
 
Table created

select constraint_name, constraint_type, search_condition from user_constraints where table_name like 'DROPME_T';
 
CONSTRAINT_NAME CONSTRAINT_TYPE SEARCH_CONDITION
--------------- --------------- ----------------
SYS_C0021725    C               "UK" IS NOT NULL
SYS_C0021726    P               
SYS_C0021727    U               

alter table dropme_t drop primary key;
 
Table altered

alter table dropme_t drop unique(uk);
 
Table altered

alter table dropme_t modify(uk null);
 
Table altered

select constraint_name, constraint_type, search_condition from user_constraints where table_name like 'DROPME_T';
 
CONSTRAINT_NAME CONSTRAINT_TYPE SEARCH_CONDITION
--------------- --------------- ----------------
  
SQL> 
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Constraints
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]