powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Создание процедуры от определенного пользователя
9 сообщений из 9, страница 1 из 1
Создание процедуры от определенного пользователя
    #39329474
alx71
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Процедура должна создаваться от определенного пользователя, иначе выдавать ошибку. Как это сделать?
...
Рейтинг: 0 / 0
Создание процедуры от определенного пользователя
    #39329475
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Э-ээ
Если у тебя нет привилегии CREATE ANY PROCEDURE, то ты и не сможешь создать процедуру в чужой схеме
...
Рейтинг: 0 / 0
Создание процедуры от определенного пользователя
    #39329476
alx71
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть два пользователя с нужными привилегиями, но определенная процедура должна быть создана только от определенного пользователя. Можно ли это проверять?
...
Рейтинг: 0 / 0
Создание процедуры от определенного пользователя
    #39329480
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, триггер на создание
Код: 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.
48.
49.
50.
51.
tst> connect system/manager@tst
Connected.
tst> create trigger new_u1_proc1 before create on database
  2  when (ora_dict_obj_owner='U1' and
  3        ora_dict_obj_name='PROC1' and
  4        ora_dict_obj_type='PROCEDURE')
  5  begin if user != 'U1' then
  6           raise_application_error(-20001, 'Bad username ('||user||')!!!');
  7        end if;
  8  end;
  9  /

Trigger created.

tst> create procedure U1.proc1 as
  2  begin null;
  3  end;
  4  /
create procedure U1.proc1 as
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-20001: Bad username (SYSTEM)!!!
ORA-06512: at line 2


tst> create package U1.proc1 as
  2  a number;
  3  end;
  4  /

Package created.

tst> drop package u1.proc1;

Package dropped.

tst> connect u1/u1@tst
Connected.
tst> create procedure U1.proc1 as
  2  begin null;
  3  end;
  4  /

Procedure created.

tst> drop procedure U1.proc1;

Procedure dropped.

Или создание выполнять в определенном пакете (забрав права CREATE ANY)
...
Рейтинг: 0 / 0
Создание процедуры от определенного пользователя
    #39329482
alx71
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что-нить типа

$if $$USER != 'WOWKA' $then
$ERROR
$else
create procedure
$end

нельзя?
...
Рейтинг: 0 / 0
Создание процедуры от определенного пользователя
    #39329631
, что тут нужно вообще обойтись без процедур.
Какую задачу-то решить хочешь, alx71?
...
Рейтинг: 0 / 0
Создание процедуры от определенного пользователя
    #39330257
alx71
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Защититься от создания процедуры не от того, от кого надо, т.к. она использует линки, которые есть только у определенного юзера.
...
Рейтинг: 0 / 0
Создание процедуры от определенного пользователя
    #39330262
alx71,
А по-простому? Не давать пользователю прав создавать процедуры, где не попадя?
...
Рейтинг: 0 / 0
Создание процедуры от определенного пользователя
    #39330267
alx71т.к. она использует линки, которые есть только у определенного юзера.чем дальше в лес, тем больше шишек.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Создание процедуры от определенного пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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