powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как получить имя текущей подпрограммы в пакете?
7 сообщений из 7, страница 1 из 1
Как получить имя текущей подпрограммы в пакете?
    #39757847
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет
Subj, не занимаясь такими вещами как парсинг стека и проч?
должно же быть что-то вроде compile-time инъекции?
...
Рейтинг: 0 / 0
Как получить имя текущей подпрограммы в пакете?
    #39757858
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--,

dbms_utility.format_call_stack
...
Рейтинг: 0 / 0
Как получить имя текущей подпрограммы в пакете?
    #39757894
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
  1  create or replace
  2   procedure p_test is
  3   begin
  4    dbms_output.put_line($$PLSQL_UNIT);
  5*  end;
  6  /

Procedure created.

SQL> exec p_test;
P_TEST

PL/SQL procedure successfully completed.

SQL>



....
stax
...
Рейтинг: 0 / 0
Как получить имя текущей подпрограммы в пакете?
    #39757898
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав, внимательно перечитай subj.
...
Рейтинг: 0 / 0
Как получить имя текущей подпрограммы в пакете?
    #39758329
brzl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
function get_proc_name return varchar2 is
begin
    return utl_call_stack.concatenate_subprogram(utl_call_stack.subprogram(2));
end;
...
Рейтинг: 0 / 0
Как получить имя текущей подпрограммы в пакете?
    #39758382
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brzl,

круто! спасибо!
...
Рейтинг: 0 / 0
Как получить имя текущей подпрограммы в пакете?
    #39759217
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brzl,

итересный для меня результат в https://apex.oracle.com/pls/apex/f

Код: 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.
declare
 function get_proc_name(p_depth pls_integer) return varchar2 is
begin
    return utl_call_stack.concatenate_subprogram(utl_call_stack.subprogram(p_depth));
end;
begin
  for i in 1..20 loop
    dbms_output.put_line(i||' '||get_proc_name(i) );
  end loop;
end;

1 __anonymous_block.GET_PROC_NAME
2 __anonymous_block
3 DBMS_SQL.EXECUTE
4 WWV_FLOW_SW_API.RUN_SQL_ARR
5 WWV_FLOW_SW_API.RUN_SQL
6 WWV_FLOW_SW_PAGE_CALLS.SQL_RESULTS
7 __anonymous_block
8 DBMS_SQL.EXECUTE
9 WWV_FLOW_DYNAMIC_EXEC.RUN_BLOCK5
10 WWV_FLOW_DYNAMIC_EXEC.EXECUTE_PLSQL_CODE
11 WWV_FLOW_REGION_NATIVE.RENDER_PLSQL
12 WWV_FLOW_REGION_NATIVE.RENDER_REGION
13 WWV_FLOW_PLUGIN.RENDER_REGION
14 WWV_FLOW_DISP_PAGE_PLUGS.DISPLAY_PLUG_BODY
15 WWV_FLOW_DISP_PAGE_PLUGS.DISPLAY_PLUG
16 WWV_FLOW_DISP_PAGE_PLUGS.DISPLAY_PAGE_PLUGS
17 WWV_FLOW_PAGE.EMIT_BODY
18 WWV_FLOW_PAGE.RENDER
19 WWV_FLOW.SHOW
20 __anonymous_block

Statement processed.

0.00 seconds



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


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