powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
25 сообщений из 86, страница 3 из 4
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594364
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

Может быть и весь стандарт.

Потмоу что Language Reference это в том числе и БЕСПЛАТНОЕ изложение части стандарта, который сам по себе стоит больших денег. И изложение на нормальном понятном языке, а не на языке аннунаков.
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594365
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch> Иногда лучше жевать, чем....
> ...чем торопиться, скажем вежливо.
> rdb_dev
> Если, к примеру, подобный запрос внутри FOR возвращает строки

Виноват, не ты один такой болезный...
Хотя даже он про For сказал после тоих "циклов".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594366
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch> Может быть и весь стандарт.

Предлагаю проголусувать. Чё мелочиться-то...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594370
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамАналогичные куски текста есть, например,
в описании ES и если вы не пользуетесь копипастом (ручным или
профессиональным в соотв. ПО) - то делаете что-то не так.

а на ES какая лицензия, кому копирайт принадлежит ?

Copyright 1999 Inprise/Borland. All rights reserved. All InterBase products are trademarks or registered
trademarks of Inprise/Borland. All Borland products are trademarks or registered trademarks of
Inprise/Borland. Other brand and product names are trademarks or registered trademarks of their
respective holders.
1INT0055WW21000 6E1R0699

раз копипаст, два копипаст - и как бы за распространение вареза не штрафанули, Эмбаркадере деньги сейчас нужны.
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594376
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochПотмоу что Language Reference это в том числе и БЕСПЛАТНОЕ изложение части стандарта,

чушь. Совпадение со стандартом будет только в том случае, если так ведёт себя Firebird. Если поведение отличается от стандартного, то оно будет описано. И никто SQL стандарт туда тащить не будет.

И ещё между присвоением и into есть огромная разница. Как это может быть не очевидно я не понимаю. Нельзя выполнить присвоение переменной, не изменив её
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594378
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch> а на ES какая лицензия, кому копирайт принадлежит ?

ES - это execute statement.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594379
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисНельзя выполнить присвоение переменной, не изменив её

Написали бы в стандарте, что "переменной присваивается ее текущее начение" - и присваивали не изменив бы как миленькие.

А если бы в стандарте про SELECT INTO написали, что присваивается NULL, то и там бы присваивали, а не пропускали.

Путать очевидное всем и привычное лично тебе, увы свойственно всем людям.
Даже когда к тебе лично приходят люди, которым не очевидно, все равно прощё их записать в недочеловеки и остаться при своём. И получить удовольствие послав пользователей через губу идти покупать стандарты.
Всё, надоело.
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594380
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> И никто SQL стандарт туда тащить не будет.

Ну всё, не судьба. Даже проголусувать не надо
(а мне было интересно на результаты посмотреть).

> Как это может быть не очевидно я не понимаю.

Как выяснилось, даже Дима путается.
Хотя к чему сюда скалярный вариант
вообще приплели непонятно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594384
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch> и присваивали не изменив бы как миленькие.

Не факт. И это имело бы другие сопутствующие... "нюансы",
которые нужно было бы знать, и, вероятно, описывать в доке.

> прощё их записать в недочеловеки и остаться при своём.
> И получить удовольствие послав пользователей через губу

Уймись уже, подобной фигнёй тут только ты страдаешь.
ТС спросил, ему первым постом объяснили "почему",
вторым постом объяснили "как". А потом пришёл ты
поручик Ржевский и тут такооооое началось...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594392
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

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

Это из разряда случаев, когда люди gen_id и контекстные
переменные напрямую не умеют вызывать. :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594404
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochЕсли результата нету - то присваивается NULL
В одном из случаев.
значит, null при i=(select ....) - это баг. Никогда так не писал, поэтому не сталкивался.

Рустаму, про "правильно" - null это все равно результат. А если результата нет, значит и присваивать нечего. Если непонятно, поясняю:
i=(select field from table);
означает "записать в переменную I значение столбца field из выбранной записи". Вообще для select результатом является набор записей (множество). Если множество пустое, как можно что-то записывать в i ? Столбца field в данном случае вообще не существует.

Теоретически это могло бы быть темой для дискуссии. Но поскольку я не вижу здесь смысловой разницы между i=(select) и select into :i - считаю что и работать они должны одинаково, т.е. ничего не менять в переменной, если rowset is empty.

А по существу - надо посмотреть, как эти конструкции выглядят в blr, и в чем там разница.
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594408
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисНельзя выполнить присвоение переменной, не изменив еe
тоже логично. Но в случае отсутсвия rowset вся конструкция
i=(select);
превращается в
i=;
и все. Должна-ли такая конструкция работать эквивалентно явному
i=null;
?
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594409
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvв случае отсутсвия rowsetесть чёткое правило в стандарте, выше приводилось.
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594411
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамНу всё, не судьба. Даже проголусувать не надо
(а мне было интересно на результаты посмотреть).
тут хоть обголосуйся, но написание документации - работа платная. Так что пока ее бесплатно писать никто не хочет или не умеет, голосуйте хоть за втыкание трех стандартов в документацию, результат будет одинаков - шиш с маслом.
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594414
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladесть чёткое правило в стандарте, выше приводилось.
тогда я не знаю, что еще обсуждать. А то все такие говорливые стали, прямо прорвало.
В документации будет дополнено? Будет. Вот и славно (трам-пам-пам).
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594417
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> Рустаму, про "правильно" - null это все равно результат.
kdv> А если результата нет, значит и присваивать нечего.

Даже если забыть про стандарт, то отсутствие результата -
тоже результат и странно хотеть оператор присваивания,
который ничего не присваивает и не выдаёт ошибку.

> Вообще для select результатом является набор записей (множество).
> Если множество пустое, как можно что-то записывать в i ?

Не для скалярного. Для скалярного чётко расписано,
что делать в случае 0, что в случае 1 и что в случае > 1.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594419
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> тут хоть обголосуйся

Не-не, мне таки интересно было бы на голосующих посмотреть. В список занести. (с)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594492
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvWildSeryВ русской документации ошибка перевода.
В доке ясно написано
какого, нафиг, перевода? русский LR первичен, английский - перевод с русского.Тот случай, когда перевод лучше оригинала?
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594508
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochkdvя не вижу разницы в этих способах. Нет результата - ничего не присваивается. Есть результат - присваивается.

А стандарт - видит. И сам firebird тожt видит
Если результата нету - то присваивается NULL
В одном из случаев.

И если даже ты не можешь навскидку вспомнить правильное по стандарту поведение, странно это ожидать от чайников.

Ты закусывай иногда. Хотя бы в одном из случаев. Положить в переменную что достал, не достал, не лОжь зеркальце в парту (С) - это стандарт и это логично, а присвоить переменной что-то, неважно откуда взявшееся - это к SQL имеет весьма слабое отношение.
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594509
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамArioch> Может быть и весь стандарт.

Предлагаю проголусувать. Чё мелочиться-то...


Ну. И на место Трампа выбрать этого... как его... А! Родченкова, вот!
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594533
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавлю свои 5 копеек. То, что конструкция SELECT INTO не меняет значение переменных при пустом наборе - в принципе логично. Но не очевидно для человека. У нас все разработчики обязательно наступали на этот нюанс. Я и сейчас второпях иногда забываю про то, что при переделке кода с "A = (SELECT FROM XXX)" на "SELECT FROM XXX INTO :A, :B" переменные надо заранее обнулить. Поэтому отразить в доке такое поведение считаю правильным.
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594539
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMaxSELECT INTO не меняет значение переменных при пустом наборе - в принципе логично. Но не очевидноА что, если б меняла - было бы очевиднее?
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594542
CyberMax,
Я бы даже попросил дополнительный предикат к into (типа reset). Чтобы обнулять в случае отсутствия результатов.
...
Рейтинг: 0 / 0
Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
    #39594545
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockCyberMaxSELECT INTO не меняет значение переменных при пустом наборе - в принципе логично. Но не очевидноА что, если б меняла - было бы очевиднее?
Да.
...
Рейтинг: 0 / 0
25 сообщений из 86, страница 3 из 4
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Неустановка локальной переменной при пустом наборе: стандарт, фича или баг?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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