Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / drop user только существующего пользователя / 7 сообщений из 7, страница 1 из 1
03.06.2017, 16:10
    #39465243
LadyShack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drop user только существующего пользователя
Пытаюсь ставить проверку
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
DECLARE
    cnt number;
BEGIN
    SELECT count(*) INTO cnt FROM ALL_USERS WHERE USERNAME='ASN';
    IF (cnt > 0) THEN
        DROP USER ASN;
    END IF;
END;


Ошибка PLS-00103, что нельзя DROP в этом контексте использовать.
А как тогда проверить, прежде чем удалить?

Или как вариант, погасить сообщение об ошибке, сделать
Код: plsql
1.
DROP USER ASN;


Но как тогда пагасить ошибку?
...
Рейтинг: 0 / 0
03.06.2017, 16:32
    #39465253
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drop user только существующего пользователя
DROP это DDL и посему напрямую PL/SQLом не поддерживается. Используй динамический SQL:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
DECLARE
    cnt number;
BEGIN
    SELECT count(*) INTO cnt FROM ALL_USERS WHERE USERNAME='ASN';
    IF (cnt > 0) THEN
        execute immediate 'DROP USER ASN CASCADE';
    END IF;
END;



SY.
...
Рейтинг: 0 / 0
03.06.2017, 17:52
    #39465270
Ашыпка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drop user только существующего пользователя
LadyShack пагасить ошибку?зочем?
...
Рейтинг: 0 / 0
03.06.2017, 19:43
    #39465297
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drop user только существующего пользователя
LadyShack,

Это ошибка будет всегда (hint: ошибка компиляции)
...
Рейтинг: 0 / 0
03.06.2017, 19:44
    #39465298
LadyShack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drop user только существующего пользователя
АшыпкаLadyShack пагасить ошибку?зочем?
Если не самой в базе ручками ковыряться, а патч отдаётся пользователю, что бы в админке прогнали, то пользователей сообщения об ошибках раздражают (они на них нервно реагируют))).
...
Рейтинг: 0 / 0
04.06.2017, 02:08
    #39465391
Vladimir Filin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drop user только существующего пользователя
LadyShack,
если в удаляемой схеме используется полнотекстовый поиск Oracle Text, то его индексы нужно удалить явно, до удаления объектов, над которыми они созданы. Для них cascade не работает (11R2).
...
Рейтинг: 0 / 0
04.06.2017, 02:30
    #39465395
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drop user только существующего пользователя
Ошибки возникающие при выполнении execute immediate совершенно нормально ловятся в exception when ... блоке

AFAIK
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / drop user только существующего пользователя / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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