powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ora-01008, как узнать имя переменной?
12 сообщений из 12, страница 1 из 1
ora-01008, как узнать имя переменной?
    #39267104
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток, ALL!

У меня несколько SQL-запросов с bind variables, которые запускаются с помощью DBMS_sql.
Есть ли способ попросить Oracle сообщить имена всех переменных, которые он обнаружил в тексте SQL-запроса, после DBMS_sql.parse?
...
Рейтинг: 0 / 0
ora-01008, как узнать имя переменной?
    #39267130
Бобр добра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть
...
Рейтинг: 0 / 0
ora-01008, как узнать имя переменной?
    #39267142
mlc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Egoр,

DBA_HIST_SQL_BIND_METADATA
...
Рейтинг: 0 / 0
ora-01008, как узнать имя переменной?
    #39267145
Фотография JaRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что вы будете подставлять в неизвестные переменные? Всё равно ведь жестко зашитый набор.
...
Рейтинг: 0 / 0
ora-01008, как узнать имя переменной?
    #39267160
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mlcDBA_HIST_SQL_BIND_METADATA Как определить sql_id для курсора, открытого через DBMS_sql?
JaRoА что вы будете подставлять в неизвестные переменные? Всё равно ведь жестко зашитый набор.Есть коллекция index by varchar2, в которой есть значения для переменных.
Для тех переменных, которых нет в коллекции, - null.
...
Рейтинг: 0 / 0
ora-01008, как узнать имя переменной?
    #39267210
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgoрЕсть ли способ попросить Oracle сообщить имена всех переменных, которые он обнаружил в тексте SQL-запроса, после DBMS_sql.parse?
WWV_FLOW_UTILITIES.get_binds. Можно посмотреть, что внутри, и написать самому подобное.
...
Рейтинг: 0 / 0
ora-01008, как узнать имя переменной?
    #39267220
mlc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgoрmlcDBA_HIST_SQL_BIND_METADATA Как определить sql_id для курсора, открытого через DBMS_sql?

Код: plsql
1.
2.
3.
4.
5.
select --+ get sql_id
  sql_id
from v$sql
where dbms_lob.compare(sql_fulltext, your_opened_cursor) = 0
  and to_date(last_load_time, 'yyyy-mm-dd/hh24:mi:ss') > sysdate - interval '5' minute;
...
Рейтинг: 0 / 0
ora-01008, как узнать имя переменной?
    #39267240
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mlc,

Что-то подобное я уже попробовал. Через sqltext_to_signature.
Но, увы, это долго.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ora-01008, как узнать имя переменной?
    #39986261
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
коллеги, подскажите вменяемый метод поиска биндов в sql-запросе
Оракл-11

могу, например, из делфового ДОА достать и перевести в нужный мне язык...
там есть function FindVariables(const SQL: string; IncludeDuplicates: Boolean): TStringList;

но зачем городить велосипед... вдруг задача уже решена средствами самого Оракла, а я не нашёл
...
Рейтинг: 0 / 0
ora-01008, как узнать имя переменной?
    #39986262
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx
коллеги, подскажите вменяемый метод поиска биндов в sql-запросе
Оракл-11

могу, например, из делфового ДОА достать и перевести в нужный мне язык...
там есть function FindVariables(const SQL: string; IncludeDuplicates: Boolean): TStringList;

но зачем городить велосипед... вдруг задача уже решена средствами самого Оракла, а я не нашёл
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:9529847800346668642

что-то самописно-наколенное на АскТоме
...
Рейтинг: 0 / 0
ora-01008, как узнать имя переменной?
    #39986275
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxвдруг задача уже решена средствами самого Оракла

Препарируешь запрос, вызываешь OCIStmtGetBindInfo().
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ora-01008, как узнать имя переменной?
    #39990004
Фотография Кобанчег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx
вдруг задача уже решена средствами самого Оракла
Посмотри в v$sql_bind_capture/v$sql_bind_metadata после выполнения dbms_sql.parse + dbms_sql.describe_columns.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ora-01008, как узнать имя переменной?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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