Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Вопрос по изменению статуса констрейнта.  [new]
Сеня
Member

Откуда:
Сообщений: 61
Есть база, oracle 9.2.0.6.0
К ней коннекчусь с помощью SQL Navigator.
1. в My Schema выбираю к-либо констрейнт, правой кн мыши по нему и Desable. Констрейнт дизейблится (соотв изменение в таблицах USER_CONSTRAINTS, dba_constraints и др).
Инейблю. Всё ок - заинейблился.

2. В том же SQL Navigator пишу скрипт, чтобы задизейблить констрейнт.

update USER_CONSTRAINTS set STATUS='DISABLED' where constraint_name='my_constr';

Результат:
ORA-01031 insufficient privileges.

Как это понимать?
Почему в 1м случае всё ок, а во втором нет прав?
Разъясните пожалуйста
12 сен 06, 16:22    [3125345]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по изменению статуса констрейнта.  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 63958
Блог
Сеня
2. В том же SQL Navigator пишу скрипт, чтобы задизейблить констрейнт.

Хм. Удачи. Либо изучения доки. Лучше и того, и другого. Можно без SQL Navigator.
12 сен 06, 16:25    [3125378]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по изменению статуса констрейнта.  [new]
Takurava
Member

Откуда:
Сообщений: 1776
ENABLE-DISABLE
12 сен 06, 16:26    [3125385]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по изменению статуса констрейнта.  [new]
Попутчик.
Guest
Сеня
Есть база, oracle 9.2.0.6.0
К ней коннекчусь с помощью SQL Navigator.
1. в My Schema выбираю к-либо констрейнт, правой кн мыши по нему и Desable. Констрейнт дизейблится (соотв изменение в таблицах USER_CONSTRAINTS, dba_constraints и др).
Инейблю. Всё ок - заинейблился.

2. В том же SQL Navigator пишу скрипт, чтобы задизейблить констрейнт.

update USER_CONSTRAINTS set STATUS='DISABLED' where constraint_name='my_constr';

Результат:
ORA-01031 insufficient privileges.

Как это понимать?
Почему в 1м случае всё ок, а во втором нет прав?
Разъясните пожалуйста
- user_constraints - это view, dba_constraints НЕЛЬЗЯ update - объекты у которых owner sys - это некоректно надо через alter table xxxx disable constraint xxx_yyyy;
12 сен 06, 16:30    [3125413]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по изменению статуса констрейнта.  [new]
waspwort
Member

Откуда: Тамбов-сити
Сообщений: 325
Сеня
Есть база, oracle 9.2.0.6.0
К ней коннекчусь с помощью SQL Navigator.
1. в My Schema выбираю к-либо констрейнт, правой кн мыши по нему и Desable. Констрейнт дизейблится (соотв изменение в таблицах USER_CONSTRAINTS, dba_constraints и др).
Инейблю. Всё ок - заинейблился.

2. В том же SQL Navigator пишу скрипт, чтобы задизейблить констрейнт.

update USER_CONSTRAINTS set STATUS='DISABLED' where constraint_name='my_constr';

Результат:
ORA-01031 insufficient privileges.

Как это понимать?
Почему в 1м случае всё ок, а во втором нет прав?
Разъясните пожалуйста


1. ALTER TABLE сюда

2. изменение словаря данных

почитай про различия
12 сен 06, 16:32    [3125430]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по изменению статуса констрейнта.  [new]
waspwort
Member

Откуда: Тамбов-сити
Сообщений: 325
первый оператор может выполнять владелец таблицы или любой пользователь, имеющий привилегию ALTER на нее (либо ALTER ANY TABLE). Явно изменять словарь данных может только SYSDBA и это чревато его (словаря) разрушением
12 сен 06, 16:37    [3125472]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по изменению статуса констрейнта.  [new]
Elic
Member

Откуда:
Сообщений: 29980
Сеня
Как это понимать? Разъясните пожалуйста
Для изменения объектов БД предназначен DDL, а не DML словоря
RTFM Types of SQL Statements (FAQ)
12 сен 06, 16:44    [3125517]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить