powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Проблема с условным оператором IF в FB2.0 (IBExpert)
10 сообщений из 35, страница 2 из 2
Проблема с условным оператором IF в FB2.0 (IBExpert)
    #35106085
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я вот так пишу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
execute block as
begin
  update new_table
    set column1 = 'a', column2 = 'b', column3 = 'c', column4 = 'd'
    where column1 = '1' and column2 = '2' and column3 = '3';

  if (row_count =  0 ) then
    insert into new_table (column1, column2, column3, column4)
      values ('e', 'f', 'g', 'h');
end
"begin" бы тоже писал после "as", в первой строке, но тешу себя мыслью, что когда-нибудь IBExpert научится сворачивать блоки begin-end, как в дельфях, потому всё же так.
...
Рейтинг: 0 / 0
Проблема с условным оператором IF в FB2.0 (IBExpert)
    #35106122
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, row_count у меня как-то не вошло в привычку по понятным причинам.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проблема с условным оператором IF в FB2.0 (IBExpert)
    #35106323
Долгонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустамза * надо расстреливать
вот это не понял... почему? можешь пояснить плз? почему звездочка в данном случае - это плохо?

На счет оформления - в корне не согласен, но сильно спорить не буду. В любом случае, координально ничего нового для себя не заметил. Мой вариант меньше строчек кода занимает, как минимум.
У каждого свой стиль.
...
Рейтинг: 0 / 0
Проблема с условным оператором IF в FB2.0 (IBExpert)
    #35106355
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Долгонос> почему звездочка в данном случае - это плохо?

Звездочка плоха во всех случаях кроме как "проверочных запросов для себя".
В ХП, в приложениях, в еше где-то ее уже быть не должно. А в данном случае
(в exists) она вообще даром не далась, хотя он (exists) и плюнет на нее.

Долгонос> У каждого свой стиль.

Угу. Но выравнивание у всех бывает одно и то же в одном и
том же блоке, а не скачущее от строчки к строчке. Обычно.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проблема с условным оператором IF в FB2.0 (IBExpert)
    #35106560
Bulygin Roman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
Звездочка плоха во всех случаях кроме как "проверочных запросов для себя".


Т.е. идеологически правильно писать
SELECT COUNT(SomeField) FROM
а не
SELECT COUNT (*) FROM
?
...
Рейтинг: 0 / 0
Проблема с условным оператором IF в FB2.0 (IBExpert)
    #35106587
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для count - пофиг.
для остальных запросов - нет, особенно для тех, которые набор данных возвращают клиенту.
просто, если вдруг ты решишь поменять порядок столбцов, или добавить столбец к таблице, то запросы с * "поедут", т.е. или приложение или процедура-триггер перестанут работать.
...
Рейтинг: 0 / 0
Проблема с условным оператором IF в FB2.0 (IBExpert)
    #35106591
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поправка - "или будут работать некорректно или перестанут работать"

и дополнение - count(*) и count(field) это не одно и то же (из-за вероятных null). см. langref.pdf или стандарт.

Syntax COUNT ( * | [ALL] value | DISTINCT value)
...
Рейтинг: 0 / 0
Проблема с условным оператором IF в FB2.0 (IBExpert)
    #35106607
Доброго времени суток!

kdvи дополнение - count(*) и count(field) это не одно и то же (из-за вероятных null). см. langref.pdf или стандарт.

Кстати, а как более правильно - Count(*) или Count(1)?
Вроде бы в обоих случаях сейчас сервер прочтет всю версию записи, или есть таки разница?

С уважением, Евгений
...
Рейтинг: 0 / 0
Проблема с условным оператором IF в FB2.0 (IBExpert)
    #35106739
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bulygin Roman> Т.е. идеологически правильно писать
> SELECT COUNT(SomeField) FROM
> а не
> SELECT COUNT (*) FROM
> ?

Ну, почти. Для count сказанное не относилось, поскольку
count - агрегат, я говорил о выборке столбцов. Но и для
count правильнее select count(PK)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проблема с условным оператором IF в FB2.0 (IBExpert)
    #35106742
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кузнецов Евгений> Кстати, а как более правильно - Count(*) или Count(1)?

Count(PK) :-)


Кузнецов Евгений> Вроде бы в обоих случаях сейчас сервер прочтет
Кузнецов Евгений> всю версию записи, или есть таки разница?

А при чем тут версии вообще?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Проблема с условным оператором IF в FB2.0 (IBExpert)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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