Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 как выполнить запрос без изменений в NDS с "типа-bind-ом" в select-cекции?  [new]
DBAshnik
Member

Откуда:
Сообщений: 402
есть в _чужой_ системе (Oracle 11.2) запроc вида:

select ... cast(A.attachmentid as varchar2(:"SYS_B_0"))  ...


с неким sql_id ! (который мне нужно ускорить "наклейкой" хинтов по технологии sql-patch, но сейчас не об этом )

чтобы запустить этот запрос у себя в TOAD, делаю:

begin
  select sql_fullText into lSqlFT from v$sqlarea x where sql_id = '39k7v8uswk556';
  lSqlFT := replace( lSqlFT, ':"SYS_B_0"', '100' );  --// "...as varchar2(100)" !!! 
  execute immediate  lSqlFT into ...
  ...
end;


поскольку через using значение не подставишь ( в ':"SYS_B_0"' ) пришлось заменять этот "типа-bind" перед выполнением запроса через replace. Но это получился, строго говоря, другой запрос - разумеется с другим sql_id , что мне не нравится! Вопрос - как быть в такой ситуации?
19 янв 17, 18:41    [20124271]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить запрос без изменений в NDS с "типа-bind-ом" в select-cекции?  [new]
-2-
Member

Откуда:
Сообщений: 15330
DBAshnik,

using 100
19 янв 17, 19:05    [20124359]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить запрос без изменений в NDS с "типа-bind-ом" в select-cекции?  [new]
-2-
Member

Откуда:
Сообщений: 15330
select ... cast(A.attachmentid as varchar2(:"SYS_B_0"))  ...
не разглядел контекст. Ну так появление в этом месте бинда видимо спровоцировано cursot_sharing'ом. возможно и после реплейса с установленным force получится то же самое.
19 янв 17, 19:08    [20124371]     Ответить | Цитировать Сообщить модератору
 Re: как выполнить запрос без изменений в NDS с "типа-bind-ом" в select-cекции?  [new]
DBAshnik
Member

Откуда:
Сообщений: 402
-2-
select ... cast(A.attachmentid as varchar2(:"SYS_B_0"))  ...
не разглядел контекст. Ну так появление в этом месте бинда видимо спровоцировано cursot_sharing'ом. возможно и после реплейса с установленным force получится то же самое.


да, только sql_id будет другой - и это моя проблема.
20 янв 17, 13:07    [20126790]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить