Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Использование объектных типов в динамическом SQL / 8 сообщений из 8, страница 1 из 1
05.02.2018, 22:34
    #39597105
Lemkoleg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование объектных типов в динамическом SQL
Добрый день. Подскажите, есть ли возможность использования объектных типов в качестве передаваемых параметров в конструкции USING в встроенном динамическом SQL? Я пытаюсь вызвать выполнение процедуры "PROC_NAME" через EXECUTE IMMEDIATE. Которая, в качестве параметра, получает объектный тип. При исполнении, выбрасывает ошибку "PLS-00904: insufficient privilege to access object PROC_NAME".
...
Рейтинг: 0 / 0
05.02.2018, 22:36
    #39597107
Lemkoleg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование объектных типов в динамическом SQL
Забыл добавить: все объекты (сам тип, процедура) являются собственностью пользователя, под которым выполняется даная операция
...
Рейтинг: 0 / 0
06.02.2018, 06:07
    #39597177
Павел Воронцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование объектных типов в динамическом SQL
Lemkoleg,

Передавай в Immediate блок параметры для инициализации объекта там. Типа такого
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare v$sql varchar2(200);
begin
v$sql := 'DECLARE obj$var my_obj := my_obj(:1,:2);
BEGIN
-- Some code using obj$var
NULL;
END;'
EXECUTE IMMEDIATE v$sql USING 'First param',100500;
end;
...
Рейтинг: 0 / 0
06.02.2018, 07:33
    #39597191
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование объектных типов в динамическом SQL
Lemkolegв качестве параметра, получает объектный типОракл поддерживает только anytype переменные типа тип.
...
Рейтинг: 0 / 0
06.02.2018, 07:53
    #39597196
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование объектных типов в динамическом SQL
-2-Lemkolegв качестве параметра, получает объектный типОракл поддерживает только anytype переменные типа тип.Чего?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> declare
  2    x sys.dbms_xplan_type := sys.dbms_xplan_type('bla-bla');
  3  begin
  4    execute immediate 'declare y sys.dbms_xplan_type := :y; begin dbms_output.put_line(y.plan_table_output); end;' using x;
  5  end;
  6  /
bla-bla

PL/SQL procedure successfully completed.
...
Рейтинг: 0 / 0
06.02.2018, 08:34
    #39597206
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование объектных типов в динамическом SQL
Elic-2-пропущено...
Оракл поддерживает только anytype переменные типа тип.Чего?Ты передаешь не тип, а переменную типа object
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
select type_name, typecode
from dba_types
where owner = 'SYS' and type_name in ('DBMS_XPLAN_TYPE', 'ANYTYPE');

TYPE_NAME            TYPECODE  
-------------------- ----------
ANYTYPE              ANYTYPE   
DBMS_XPLAN_TYPE      OBJECT    
...
Рейтинг: 0 / 0
06.02.2018, 08:42
    #39597208
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование объектных типов в динамическом SQL
-2-Ты передаешь не тип, а переменную типа objectБессмысленная казуистика. Тебе бы дела шить.
...
Рейтинг: 0 / 0
06.02.2018, 09:07
    #39597218
Lemkoleg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование объектных типов в динамическом SQL
Павел Воронцов,
Спасибо, попробую.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Использование объектных типов в динамическом SQL / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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