Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5847
DBAshnik
1. Видим в using стоит ..., null,...
2. Видим тип колонки/переменной для :x - он, допустим, date! ( или number или char и т.д)


execute immediate ' ... to_char(:x) ...' using null 

Какой тип?
5 окт 18, 11:35    [21696136]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5847
Ответ "мы не применяем функции к переменным в динамическом запросе" не рассматриваю. Если решение уже сделано проктологическо-ортопедическим методом, то и это тоже обязательно встретится.
5 окт 18, 11:38    [21696143]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
DBAshnik
Member

Откуда:
Сообщений: 225
Elic
DBAshnik
2. Видим тип колонки/переменной для :x
Неизлечимый кретинизм.
+
select :x from dual
union all
select :y from dual


ну хорошо, умник, поясни (даже не мне! а любому логически мыслящему челу, начинающему изучать оракл!). Почему конструкция типа

SELECT * FROM (
  select :x as Z from dual
    union all
  select :y as Z from dual
) WHERE Z IS NULL


не требует явного приведения типа навроде "TO_CHAR( Z ) IS NULL" ( TO_DATE(), TO_NUMBER() и т.п. ).
А в NDS это конвертация обязательна? ГДЕ ТУТ ЛОГИКА ТО????
Если все эти конвертирования TO_DATE(null), TO_NUMBER(null) (и тп.) дают И ТАК в итоге по любому NULL - то только я один вижу тут абсолютно ненужную "бюрократию"?!?

Я понимаю, конечно, что к этому тут многие видать привыкли за долгие века бурлацкого программисткого труда... Но есть же и такая вещь как прогресс всё-таки! А то уже пора вводить новый хеш-тэг #ДедыКонвертили ))))

P.S. и ещё раз, _последний раз_ повторяю: Я НЕ работаю в Оракл!!! Исходников этих в глаза не видел (подозреваю, что равно как и большинство тут дискутирующих, ибо не опенсоурс! ) Но _СИЛЬНО СОМНЕВАЮСЬ_ что это невозможно технически! Просто тупо забивают на удобство разработчика! Обычный унылый конформизм, короче.
5 окт 18, 11:42    [21696148]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
DBAshnik
Member

Откуда:
Сообщений: 225
andrey_anonymous
...

Так что, быть может, и допилят, раз функционал все еще развивается.


во! Ну как и во многих других кривоватых ora-фишках: есть движения таки (от версии к версии)! Но меееееедленное, блин! :-(

P.S. банально, но как тут не вспомнить: "если тебе плюют в спину, значит ты впереди"(с) ! ;-)
5 окт 18, 11:45    [21696157]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
-2-
Member

Откуда:
Сообщений: 13830
DBAshnik
И ТАК в итоге по любому NULL
"любому логически мыслящему" это не очевидно.
5 окт 18, 11:47    [21696163]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5847
DBAshnik
как тут не вспомнить: "если тебе плюют в спину, значит ты впереди"(с)

Так ты, это, не плюй в спины.
5 окт 18, 11:52    [21696179]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5847
DBAshnik,

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

create or replace package tst is
  function f(x number) return number;
  function f(x date) return date;
end;
/

create or replace package body tst is
  function f(x number) return number is
  begin
    return 3.14-nvl(x,1.07);
  end f;
  
  function f(x date) return date is
  begin
    return nvl(x, sysdate) + interval '1' day;
  end f;
end;
/

declare 
  v anydata;
begin
  execute immediate 'select tst.f(:x) xx from dual' into v using null;
--  execute immediate 'select tst.f(:x) xx from dual' into v using '20181005';
end;
/
5 окт 18, 12:01    [21696197]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
DBAshnik
Member

Откуда:
Сообщений: 225
softwarer
... якобы, в начале восьмидесятых годов в нью-йоркском метрополитене привычную для нас надпись "Выхода нет" заменили надписью "Выход с другой стороны", и уже в следующем году городская статистика продемонстрировала заметное снижение количества самоубийств. Оказалось, что даже такая мелочь способна повернуть к свету либо выступить в роли последней соломинки.
...


отлично-отлично! Вообще супер! Спасибо огромное за мего-наглядный пример!!! Честно говоря, меня уже давно подмывает написать серьёзный технико-психологический трактат о типичных психологических проблемах в АйТи. (не в последнюю очередь затронув тему почему, по отзывам многочисленных профессиональных психологов, у ойтишной братии, при прочих равных, зачастую так скверно обстоят дела с противоположным полом! ;-) ). Это вот именно и проблема многих фриков-умников: по настоящему умный человек никогда не будет лезть в технические дебри за аргументацией, высокомерно ожидая от всех и каждого своего высокого уровня, но постарается спуститься на уровень собеседника, сумеет взглянуть на вещи _его_(!) глазами и терпеливо сможет растолковать порой даже самую сложную проблему _простым_ языком аппелируя не консервативному "ну вот так есть и всегда так было" лишь к логике и здравому смыслу.
5 окт 18, 12:02    [21696205]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 16771
DBAshnik
Почему конструкция типа

SELECT * FROM (
  select :x as Z from dual
    union all
  select :y as Z from dual
) WHERE Z IS NULL

не требует явного приведения типа навроде "TO_CHAR( Z ) IS NULL" ( TO_DATE(), TO_NUMBER() и т.п. ).

прибейте x и y переменные двух типов, между которыми нет implicit conversion, скажем, number и date - получите ответ.
DBAshnik
А в NDS это конвертация обязательна? ГДЕ ТУТ ЛОГИКА ТО????

1. Не конвертация.
Определение типа переменной привязки.
Вашему запросу (выше) без привязанных типизованных переменных тоже ничего не светит.
2. Не стоит путать SQL и PL/SQL.
В SQL никакого NDS нет - это конструкция PL/SQL (и компонент "FACILITY" кода исключения, положившего начало этому топику, какбэ намекает: не ORA, а PLS).
5 окт 18, 12:03    [21696209]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5847
DBAshnik
постарается спуститься на уровень собеседника

Ты уверен, что на твой уровень стоит спускаться?

Объяснять бушмену почему нельзя попасть стрелой в Солнце, долгое, нудное и почти бессмысленное занятие, требующее сначала дать ему образование на уровне достаточном для восприятия хотя бы терминологии объясняющего.

Но ты продолжай винить всё вокруг в том, что твоя стрела падает на землю и не сообщает истинной причины, почему она не долетела.
5 окт 18, 12:08    [21696222]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 16771
DBAshnik
и терпеливо сможет растолковать

Постарайтесь взглянуть на проблему с другой стороны: "растолковать" что-либо возможно только тому, кто готов воспринимать пусть даже самые разжеванные и упрощенные объяснения, думать и тем самым "расти над собой".
Растолковать же что-либо человеку, упорствующему в собственной интерпретации фактов и не готовому осмысливать услышанное, практически невозможно.
5 окт 18, 12:09    [21696224]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 28278
DBAshnik
Но _СИЛЬНО СОМНЕВАЮСЬ_ что это невозможно технически!
Это от скудоумия.
5 окт 18, 12:14    [21696229]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
DBAshnik
Member

Откуда:
Сообщений: 225
env
DBAshnik,

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

create or replace package tst is
  function f(x number) return number;
  function f(x date) return date;
end;
/

create or replace package body tst is
  function f(x number) return number is
  begin
    return 3.14-nvl(x,1.07);
  end f;
  
  function f(x date) return date is
  begin
    return nvl(x, sysdate) + interval '1' day;
  end f;
end;
/

declare 
  v anydata;
begin
  execute immediate 'select tst.f(:x) xx from dual' into v using null;
--  execute immediate 'select tst.f(:x) xx from dual' into v using '20181005';
end;
/


ну очевидно, что в том редком случае ( не ошибусь, думаю, что проблема вызова перегруженых функций пакета это даже не 0.1% процента всех случаев применения NDS + "using" !!! ) , можно и выбросить _ясную и понятную_ error-мессагу, что мол " function ambiguously defined" (по аноглогии с пресловутым "column ambiguously defined" , которая возникает, как известно, отнюдь не во всех случаях когда не указан квалификатор таблицы и т.п. myTbl.MyColumn, а лишь при необходимости )

Я устал говорить: я НЕ ЗНАЮ как конкретно запаять это в оракле. ( когда меня устроят туда на летние сезонные подработки, сообщу вам тут... ))) если разрешат... ))) ) Но я знаю одно: "кто хочет что-то сделать - ищет средства для этого! Кто ничего не хочет - ищет причины"(с)
5 окт 18, 12:14    [21696230]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5847
DBAshnik
Кто ничего не хочет - ищет причины

Так прекрати искать причины.
5 окт 18, 12:16    [21696231]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 16771
env
тебе, паровозу прогресса

Неудачно, кмк.
Сферический Паровоз в вакууме - это нечто, способное что-то двигать куда-то в даль.
Персонаж же, созданный для нас ТС - типовой потребитель. Слегка перефразируя классиков - этакий "кадавр, неудовлетворенный ошибочно".
5 окт 18, 12:17    [21696234]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
DBAshnik
Member

Откуда:
Сообщений: 225
env
DBAshnik
постарается спуститься на уровень собеседника

Ты уверен, что на твой уровень стоит спускаться?

Объяснять бушмену почему нельзя попасть стрелой в Солнце, долгое, нудное и почти бессмысленное занятие, требующее сначала дать ему образование на уровне достаточном для восприятия хотя бы терминологии объясняющего.

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


ну я же говорю: ВЫСОКОМЕРИЕ!
5 окт 18, 12:17    [21696235]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
DBAshnik
Member

Откуда:
Сообщений: 225
-2-
DBAshnik
И ТАК в итоге по любому NULL
"любому логически мыслящему" это не очевидно.


то есть какая то из функций TO_DATE(null), TO_NUMBER(null) может дать в результате НЕ Null ?!??! Вот отсюда по-подробнее пожалуйста? ;-)
5 окт 18, 12:21    [21696244]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5847
DBAshnik
ну я же говорю: ВЫСОКОМЕРИЕ!

Да, именно, твоё высокомерие в убеждении, что твоя точка зрения единственно верная, без желания понять отвечающих и подумать - удручает.
5 окт 18, 12:23    [21696248]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
-2-
Member

Откуда:
Сообщений: 13830
DBAshnik
то есть какая то из функций TO_DATE(null), TO_NUMBER(null) может дать в результате НЕ Null ?
В оралке не только нет нетипизованных переменных, но нетипизованных колонок. Какого типа должен получиться результат юниона разных типов?
Или выражения select sysdate-:var ?
5 окт 18, 12:26    [21696252]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 16771
DBAshnik
может дать в результате НЕ Null ?!??! Вот отсюда по-подробнее пожалуйста? ;-)

Null Null-у Null
Еще раз, мееедленно: берете свой тесткейс и прибиваете x и y типов number и date.
Инициализируете NULL-ами.
Выполняете.
Дальше в идеале Вы должны осознать, что NULL - это особое ТИПИЗИРОВАННОЕ не-значение, хотя и представленное одним и тем же литералом, независимо от типа.
Собственно, если бы "ленивые программисты oracle" не вводили бы единое ключевое слово/литерал NULL, а заставили бы писать "null_date", "null_number" и т.д., то у Вас путаницы бы не случилось и не пришлось бы осваивать сложные материи null-полиморфизма :)
5 окт 18, 12:32    [21696263]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
DBAshnik
Member

Откуда:
Сообщений: 225
-2-
DBAshnik
то есть какая то из функций TO_DATE(null), TO_NUMBER(null) может дать в результате НЕ Null ?
В оралке не только нет нетипизованных переменных, но нетипизованных колонок. Какого типа должен получиться результат юниона разных типов?
Или выражения select sysdate-:var ?


вы опять заводите "рака за камень" уходя в детали. Мой спич _ЛИШЬ ТОЛЬКО_ о том, что если человече в состоянии вместо "null" подставить "to_date(null)" (ну или что там подходит по смыслу) то это же действо в состоянии сделать и fucking-computer в 21м веке!!!!!!! Даже не нося при этом гордое звание искусственного интеллекта! ;-)))
5 окт 18, 12:32    [21696264]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 16771
DBAshnik
то это же действо в состоянии сделать и fucking-computer в 21м веке!!!!!!! Даже не нося при этом гордое звание искусственного интеллекта! ;-)))

Вам уже не один раз показали, что общее решение указанной задачи требует не просто интеллекта, но интеллекта, способного принимать решения в области создания ПО.
Однажды такой интеллект появится и Вы, если доживете, потеряете работу.
Потому предлагаю Вам слегка остыть в своем потребительском запале.
5 окт 18, 12:37    [21696270]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
DBAshnik
Member

Откуда:
Сообщений: 225
andrey_anonymous
env
тебе, паровозу прогресса

Неудачно, кмк.
Сферический Паровоз в вакууме - это нечто, способное что-то двигать куда-то в даль.
Персонаж же, созданный для нас ТС - типовой потребитель. Слегка перефразируя классиков - этакий "кадавр, неудовлетворенный ошибочно".


И да! Я таки сознательно (откинув все свои скилзы) становлюсь сейсас на позиции типового потребителя! Совершенно этого не стесняясь! Убеждён, что по настоящему хороший айтишник _обязан_ уметь это делать! Делать для юзера (платяшего бабки!) ту самую пресловутую кнопку "сделай мне всё зае...сь!" ))) А не входить блин в положение его величества архитектора софта и высокомерно чморя невежей-юзеров за непонимание/незнание всех тонкостей механизма переключения телевизора плоскогубцами! )))))
5 окт 18, 12:39    [21696272]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
-2-
Member

Откуда:
Сообщений: 13830
DBAshnik
-2-
Или выражения select sysdate-:var ?

если человече в состоянии
что подставить, тудате или тунумбер и почему?
5 окт 18, 12:39    [21696273]     Ответить | Цитировать Сообщить модератору
 Re: Я ****(запикано) дорогая редакция!" (в очередной раз с оракловских сообщениях об ошибках)  [new]
DBAshnik
Member

Откуда:
Сообщений: 225
andrey_anonymous

Однажды такой интеллект появится и Вы, если доживете, потеряете работу.
Потому предлагаю Вам слегка остыть в своем потребительском запале.


гы гы гы! ))) Ну спасибо хоть за откровенность! )))
Сплошные неолуддиты тут, походу )))))
5 окт 18, 12:41    [21696275]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
Все форумы / Oracle Ответить