|
|
|
Передача "препарированного" динамического запроса в хранимку?
|
|||
|---|---|---|---|
|
#18+
Добрый день, коллеги! Если я правильно понял доку, то "препарированный" динамический запрос я могу использовать в любое время в рамках текущей сессии? А можно препарировать запрос в одной хранимке, а выполнять в других? Т.е., подготовил запрос в одной хранимке, из которой вызвал другую хранимку, в которой и буду выполнять подготовленный запрос? Можно-ли передавать имена препарированных запросов через параметры хранимок или через глобальные переменные. Т.е., подготовил в одной хранимке несколько запросов и после вызываю другие хранимки, в которые передаю имена нужных запросов? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2014, 07:23:31 |
|
||
|
Передача "препарированного" динамического запроса в хранимку?
|
|||
|---|---|---|---|
|
#18+
Не знаю разрешено-ли здесь ручное "поднятие" старой темы, но осмелюсь ее "поднять" - интересует возможность передачи в хранимку имени "препарированного" динамического запроса с параметрами. Т.е., предполагается, что хранимка не знает имена подготовленных в текущей сессии динамических запросов, а получает имя одного из таких запросов через входной параметр и выполняет его? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2014, 17:46:40 |
|
||
|
Передача "препарированного" динамического запроса в хранимку?
|
|||
|---|---|---|---|
|
#18+
OlegROAНе знаю разрешено-ли здесь ручное "поднятие" старой темыЯвного запрета нет, так что если не переходить рамки разумного - то ничего страшного. У вас слишком экзотический вопрос, чтобы знать ответ сходу, но слишком простой, чтобы не взять и попробовать. Так что пробуйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2014, 17:52:18 |
|
||
|
Передача "препарированного" динамического запроса в хранимку?
|
|||
|---|---|---|---|
|
#18+
miksoftУ вас слишком экзотический вопрос, чтобы знать ответ сходуНеужели никто не пробовал поработать с динамическими вопросами более серьезно, чем стандартный вариант PREPARE-EXECUTE-DEALLOCATE?! miksoftно слишком простой, чтобы не взять и попробовать. Так что пробуйте.В том-то и дело, что в других хранимках легко выполняются препарированные запросы по их глобально-сессионным хендлам. А вот как правильно теперь передать этот хендл в другую хранимку? Код: sql 1. Выдает ошибку о неизвестной колонке 'PreparedQuery', что в принципе правильно - нет такой переменной PreparedQuery и это имя воспринимается как название колонки, значение которой надо передать в хранимку. Код: sql 1. Выдает ошибку уже в хранимке на оператор EXECUTE Param1, где Param1 - метка первого параметра хранимки Proc с типом TEXT. Ошибка - неизвестный хендл Param1! Как правильно передать хендл запроса в хранимку? Если в других языках с этим просто (знаем тип разных хендлов - значит сможем правильно передать, принять и обработать/использовать), то тут непонятно - какого типа этот хендл и как с ним работать кроме как задание его в явном виде в EXECUTE?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2014, 23:40:34 |
|
||
|
Передача "препарированного" динамического запроса в хранимку?
|
|||
|---|---|---|---|
|
#18+
Насколько я бегло понял из доки, именно передавать хэндл запроса нельзя. Можно просто использовать одинаковое имя в разных процедурах и оно будет соответствовать одному запросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2014, 01:15:29 |
|
||
|
Передача "препарированного" динамического запроса в хранимку?
|
|||
|---|---|---|---|
|
#18+
miksoft, Да, это так. У меня был случай инспекции "глючной БД", в которой как раз эта бяда и приключалась. В нескольких разных ХП использовались препаред запросы с одним именем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2014, 13:54:49 |
|
||
|
Передача "препарированного" динамического запроса в хранимку?
|
|||
|---|---|---|---|
|
#18+
Arhat109, недописал, случайно нажал enter. Насколько помню, имена переменных имеют видимость уровня сессии... то есть глобальны между запросами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2014, 13:56:19 |
|
||
|
Передача "препарированного" динамического запроса в хранимку?
|
|||
|---|---|---|---|
|
#18+
Да, это так - именно такой вариант сейчас и использую. Но, все таки, по сравнению с другими процедурными языками, с которыми работал и сейчас работаю, очень "стесняют" существующие возможности языка хранимок в MySql!:) В текущем проекте пытаюсь по максимум использовать хранимки, что бы переложить на них бОльшую часть логики. Пока получается не очень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2014, 18:27:08 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38523624&tid=1835413]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 326ms |

| 0 / 0 |
