|
план для update or insert
|
|||
---|---|---|---|
#18+
не выдается план для запроса update or insert. Например, пишем в SQL Editor update or insert into employee (emp_no, first_name, last_name) values (:e, :f, :l) matching (first_name, last_name) жмем кнопку prepare, и ... пусто. IBE любой версии, 2014, 2015 года, вплоть до самого свежего. Firebird 2.5. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2016, 13:53 |
|
план для update or insert
|
|||
---|---|---|---|
#18+
kdv, забыл добавить, что ISQL план для такого запроса выдает без проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2016, 14:22 |
|
план для update or insert
|
|||
---|---|---|---|
#18+
Причину, в общем, нашел. Пока не понял, как отличать INSERT от UPDATE OR INSERT - для обоих выдается один и тот же тип статемента (insert). А попытка получить план для обычного INSERT'a ожидаемо приводит к ошибке. Она, конечно, легко давится, но есть ли более щадящий способ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2016, 15:05 |
|
план для update or insert
|
|||
---|---|---|---|
#18+
IBExpertкак отличать INSERT от UPDATE OR INSERT - для обоих выдается один и тот же тип статемента (insert). кто выдаёт? Компоненты доступа? Может допилить их чтобы был отдельный тип статмента. Кстати для merge тоже план не даёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2016, 15:26 |
|
план для update or insert
|
|||
---|---|---|---|
#18+
Симонов Денискто выдаёт? Компоненты доступа? Они, понятно. Но они isc_dsql_sql_info дергают, а не текст парсят. Симонов ДенисКстати для merge тоже план не даёт. Из той же оперы проблема, скорее всего. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2016, 15:30 |
|
план для update or insert
|
|||
---|---|---|---|
#18+
IBExpertдля обоих выдается один и тот же тип статемента (insert) Влад сказал, что действительно, update or insert "трактуется" как insert. Тем не менее, isql каким-то образом все-таки план выдает. Вероятно, вместо игнорирования определенных типов запросов (всего кроме SQLSelect, SQLUpdate, SQLDelete) он в любом случае пытается получить план запроса. А если это выдало ошибку - то просто ничего не выводит (для просто insert isql ничего не выдает). Я глянул IBX, там начало такое Код: pascal 1. 2. 3. 4. 5.
соответственно, SQLInsert автоматически выпадает. Тем не менее, дальше в коде обработка ошибок плана есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2016, 16:19 |
|
план для update or insert
|
|||
---|---|---|---|
#18+
kdvВлад сказал, что действительно, update or insert "трактуется" как insert. Тем не менее, isql каким-то образом все-таки план выдает. Да эксперт тоже уже выдает. Думал, может какой-то другой вариант есть, кроме как давить ошибку. Получается, только анализировать текст запроса. В принципе, эксперт это умеет, и в SQL редакторе не будет пытаться получить план для простого инсерта. Но может где-то еще всплыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2016, 16:35 |
|
|
start [/forum/topic.php?fid=42&fpage=25&tid=1599362]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 159ms |
0 / 0 |