powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Cursors в for select
12 сообщений из 12, страница 1 из 1
Cursors в for select
    #38970929
Бывалый_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустило ли писать так в FB 3.0 ? :
Код: plsql
1.
2.
3.
4.
5.
6.
7.
  for select field1 /*integer*/
       from table
       as cursor cur do
  begin
     cur.field1 = cur.field1 + 1;
     ...
  end
...
Рейтинг: 0 / 0
Cursors в for select
    #38970948
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вродеж умеешь теперь ставить несколько fb на один комп.
Не проще-ли проверить?
...
Рейтинг: 0 / 0
Cursors в for select
    #38970952
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бывалый_,

http://tracker.firebirdsql.org/browse/CORE-4488, читайте внимательно там пост "Dmitry Yemanov added a comment - 08/Jul/14 06:54 PM".
...
Рейтинг: 0 / 0
Cursors в for select
    #38970962
Бывалый_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanВродеж умеешь теперь ставить несколько fb на один комп.
Не проще-ли проверить?
То что не выдало ошибки при компиляции, еще не значит что оно так было задумано. Вот и спрашиваю, можно ли так делать или лучше создать переменные?
...
Рейтинг: 0 / 0
Cursors в for select
    #38971015
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бывалый_Допустило ли писать так в FB 3.0 ? :
Код: plsql
1.
2.
3.
4.
5.
6.
7.
  for select field1 /*integer*/
       from table
       as cursor cur do
  begin
     cur.field1 = cur.field1 + 1;
     ...
  end



Нет. Курсорная переменная cur только для чтения. Т.е. вот так можно

Код: plsql
1.
2.
3.
4.
5.
6.
7.
  for select field1 /*integer*/
       from table
       as cursor cur do
  begin
     myvar = cur.field1 + 1;
     ...
  end
...
Рейтинг: 0 / 0
Cursors в for select
    #38971071
Бывалый_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эх.... а так хотелось. Ясно спасибо.
...
Рейтинг: 0 / 0
Cursors в for select
    #38971094
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бывалый_,

а смысл то какой в этом действии был бы? Вообще что ты хотел +1 сделать?

З.Ы. Нарастающие суммы в FB3 можно считать по другому. Читай про оконные функции.
...
Рейтинг: 0 / 0
Cursors в for select
    #38971111
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бывалый_То что не выдало ошибки при компиляции, еще не значит что оно так было задумано.
что не выдало ошибки, это конечно плохо, надо бы исправить. Но если оно еще и работало как хотелось - вот это уже караул...
...
Рейтинг: 0 / 0
Cursors в for select
    #38971112
Бывалый_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С наращиванием это пример. Просто не хотелось заводить дополнительные переменные. Но если это только ссылка, а не переменная, то если даже при типе Integer проблем может не появится, то при Varchar они точно будут (если строку увеличить).
...
Рейтинг: 0 / 0
Cursors в for select
    #38971128
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrчто не выдало ошибки, это конечно плохо, надо бы исправить. Но если оно еще и
работало как хотелось - вот это уже караул...
А после update where current of значения в этой переменной поменяются?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Cursors в for select
    #38971262
Бывалый_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще если использовать так как я написал выше, то пишет при компиляции ошибку:
Код: sql
1.
2.
3.
4.
This operation is not defined for system tables.
unsuccessful metadata update.
unknown ISC error 336397267.
attempted update of read-only column.


Но позволяет вписать так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
  for select field1 /*integer*/
       from table
       as cursor cur do
  begin
      execute procedure my_proc(...) returning_values(cur.field1);
     ...
  end
...
Рейтинг: 0 / 0
Cursors в for select
    #38972228
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бывалый_Но позволяет вписать такя затолкал в трекер, на всякий: CORE-4819 . Ибо накануне выходных может как-то позабыться... :-/
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Cursors в for select
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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