|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
Нужна помощь. Я не могу понять где ошибка. В 2.5 все работало, поставили 3 - появилась ошибка, хотя я ошибки не вижу: Код: sql 1. 2. 3. 4. 5. 6.
-------------------------------------------------------------------------------------------------------------- can't format message 13:896 -- message file C:\Windows\SysWOW64\firebird.msg not found. unsuccessful metadata update. CREATE OR ALTER PROCEDURE NORMAL_NAME_KS failed. Dynamic SQL Error. SQL error code = -104. Invalid command. no column name specified for column number 1 in derived table <Missing arg #2 - possibly status vector overflow>. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 11:47 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
Попробуйте "for Select right(t.psi_name,2) col1... " P.S. А AS CURSOR обязателен ? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 12:03 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
Полный текст: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Поэтому cols думаю тут не поможет... или уточните Рустам Вашу мысль ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 12:20 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
NatNV, я не понял, зачем тут вообще курсор. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 12:22 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
Покажите, как обойтись без курсора? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 12:25 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
kdv, я тоже хотел бы одним update без всякого перебора изменить поле, но не додумался как и примеров таких не нашел. Если научите буду очень Вам благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 12:49 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
алиасы должны быть для всех полей (которые выражения) курсора ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 12:55 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
не понял замечания, если честно - поясните насчет альясов... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 13:07 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
Рустам выше уже написал - select right(...) as col1 и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 13:28 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
NatNV> Поэтому cols думаю тут не поможет... или уточните Рустам Вашу мысль "cols" - это алиасы для полей (ещё для таблиц их указывают). Я же написал "for Select right(t.psi_name,2) добавьте сюда col1 ..." ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 13:31 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
NatNV, https://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-compat-sql.html ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 13:33 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
Что касается обойтись одним update - так он поддерживает весь функционал where и case. Т.е. в Вашем случае что-то вроде Код: sql 1. 2. 3. 4. 5. 6.
Кстати, case поддерживает "упрощенную форму": Код: sql 1. 2. 3. 4. 5. 6.
P.S. Ну и последнее - а для чего нужно пожобное извращение? CASE на 49 строк - не факт, что лучшее решение. Лучше используйте таблицу подстановок (это работает медленнее, но гораздо удобнее). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 13:42 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
Я уже понял. я их постоянно использую сам, но почему-то не сразу понял...)) Утро наверное. Заработало: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Спасибо всем огромное... Буду немного умнее )) Модератор: Пользуйся тегом SRC ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 13:43 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, Спасибо большое!!! Так конечно лучше. Теперь буду пользоваться таким видом запроса )) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 13:45 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
> Кстати, case поддерживает "упрощенную форму": > > > update obj set name_obj = (case > when :PSI_NAME_OBJ='03' then 'EN VVV1' > when :PSI_NAME_OBJ='0S' then 'EN SSSX' > ... > when :PSI_NAME_OBJ='49' then 'EN BBBS' > end); > Сорри, мискликнул Код: sql 1. 2. 3. 4. 5. 6.
Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 13:46 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
NatNV> Так конечно лучше. Теперь буду пользоваться таким видом запроса )) На здоровье. Укороченный вариант, конечно, лучше, но таки лучше подумайте о более человеческом решении, без case. :-) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 13:48 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
Все, теперь обошелся и без курсора !!! Не знал что update поддерживает "упрощенную форму" ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 14:04 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, без case, - таблицы подстановки - наверное решение не плохое. подумаю над этим. Спасибо еще раз !!! Вы помогая делаете правильное дело :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 14:05 |
|
FB3 не работает as cursor
|
|||
---|---|---|---|
#18+
NatNV> Не знал что update поддерживает "упрощенную форму" "Упрощенная форма" относилось к case, а не update, т.е. перебор значений операнда вместо перебора условий. А update, в свою очередь, поддерживает case, чтобы без курсоров и подзапросов можно было обойтись. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 17:48 |
|
|
start [/forum/topic.php?fid=40&msg=39515056&tid=1561443]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
82ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 295ms |
total: | 476ms |
0 / 0 |