Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 83 84 85 86 87 88 89 90 [91] 92   вперед  Ctrl
 Re: Извините за офтоп. Просто посмеяться  [new]
-2-
Member

Откуда:
Сообщений: 14850
Про комментирование дефолтов уже было?
SQL> create table t1 (
  2   n1 number default 1 /* a
  3  b*/, n2 number default 2 -- c d
  4  );

Table created.

SQL> select column_name, data_default from user_tab_columns where table_name='T1';

COLUMN_NAME                    DATA_DEFAULT
------------------------------ ------------------------------
N1                             1 /* a
                               b*/

N2                             2 -- c d
1 фев 19, 15:46    [21799837]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 29199
-2-
Про комментирование дефолтов уже было?
проблема exp/imp - не восстанавливается таблица
1 фев 19, 15:58    [21799856]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 29199
Клонирование схемы
1 фев 19, 16:02    [21799862]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
-2-
Member

Откуда:
Сообщений: 14850
Чудеса хардпарса
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> select xmlcast(xmlquery('/Y' passing t.z returning content) as clob)
  2  from (select xmlforest(to_clob('123') as y) z from (select 1 from dual)) t;

ORA-43912: invalid collation specified for a CLOB or NCLOB value

SQL> select xmlcast(xmlquery('/Y' passing t.z returning content) as clob)
  2  from (select xmlforest(to_clob('123') as y) z from (select 2 from dual)) t;

XMLCAST(XMLQUERY('/Y'PASSINGT.ZRETURNINGCONTENT)ASCLOB)
--------------------------------------------------------------------------------
123

SQL> select xmlcast(xmlquery('/Y' passing t.z returning content) as clob)
  2  from (select xmlforest(to_clob('123') as y) z from (select 3 from dual)) t;

ORA-43912: invalid collation specified for a CLOB or NCLOB value

SQL> select xmlcast(xmlquery('/Y' passing t.z returning content) as clob)
  2  from (select xmlforest(to_clob('123') as y) z from (select 4 from dual)) t;

XMLCAST(XMLQUERY('/Y'PASSINGT.ZRETURNINGCONTENT)ASCLOB)
--------------------------------------------------------------------------------
123
8 фев 19, 09:01    [21804007]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 29199
-2-
Чудеса хардпарса
Не воспроизводится. ora-100%
8 фев 19, 09:12    [21804013]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Vint
Member

Откуда: Москва
Сообщений: 4554
oracle 12.2.
кто бы мог подумать но nvl в pl\sql таки работает только вот результат не торт....
begin
  for cc in nvl(1,0)..0 loop 
    dbms_output.put_line(1);
  end loop;
end;
12 фев 19, 13:36    [21807340]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Vint
Member

Откуда: Москва
Сообщений: 4554
мда.. чтото я лопухнулся.))
12 фев 19, 13:39    [21807346]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 58498
Блог
Vint
oracle 12.2.
кто бы мог подумать но nvl в pl\sql таки работает только вот результат не торт....

А что тебя смущает в результате? У меня он соответствует ожиданиям от выполнения такого кода.

P.S. Попробуй заменить на минус единицу?
12 фев 19, 13:41    [21807348]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Vint
Member

Откуда: Москва
Сообщений: 4554
softwarer,
да это понятно. для этого есть reverce, но дело там было не в этом. надо чаще код писать)
12 фев 19, 13:44    [21807351]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 58498
Блог
Vint
да это понятно. для этого есть reverce

Не, reverse там не повлияет на результат :) Так или иначе, ок, вопрос решён и хорошо ))
12 фев 19, 14:04    [21807392]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
-2-
Member

Откуда:
Сообщений: 14850
pl/sql дока ...10
If the query might return more than one row, but you do not care about values after the first, you can restrict any result set to a single row by comparing the ROWNUM value.
pl/sql дока 11...
If the query might return multiple rows, but you care about only the nth row, then restrict the result set to that row with the clause WHERE ROWNUM=n.
25 мар 19, 23:01    [21843260]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
х.з.
Member

Откуда:
Сообщений: 734
В одной из таблиц одного из продуктов уважаемой мной(до сего момента) конторы обнаружилось интересное поле:

> desc ibs.z#cl_priv;
 Name
 ------------------------------------------------

 ID
...
 C_SEX
...


Шутка в том, что фанаты нормализации использовали для отсылки к справочнику поле number ажно с 7 цифрами:

> select * from ibs.z#sex;

                 ID C_VALUE          C_CODE                            SN                  SU
------------------- ---------------- ---------------- ------------------- -------------------
            2047935 Мужской          М
            2047936 Женский          Ж


причем ребята оказались весьма толерантными:
> select distinct c_sex,count(*) from ibs.z#cl_priv group by c_sex;

              C_SEX            COUNT(*)
------------------- -------------------
                                  10601
            2047936             5729293
            2047935             4549999
5 авг 19, 02:34    [21941770]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
DВА
Member

Откуда:
Сообщений: 5410
х.з.
Шутка в том, что фанаты нормализации использовали для отсылки к справочнику поле number ажно с 7 цифрами:


возможно фанаты предполагали, что справочник не ограничится двумя значениями ))

select C_VALUE from ibs.z#sex;

C_VALUE
-------------
Мужской
Женский  
Не известен
Транссексуал
Гендерквир
Мультигендер
Андроген
 ...............
5 авг 19, 11:36    [21941961]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
oragraf
Member

Откуда: Moscow
Сообщений: 1211
DВА
select C_VALUE from ibs.z#sex;

Пробелы в образовании своем вижу я. Но гуглить, пожалуй, не буду.
5 авг 19, 11:43    [21941969]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
xtender
Member

Откуда: Мск
Сообщений: 5216
х.з.,

Видел я одну такую поделку, там вообще все id всех таблиц генерились одним сиквенсом.якобы для того, чтобы при выгрузке в xml никогда нельзя было их перепутать
5 авг 19, 12:50    [21942026]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 58498
Блог
xtender
Видел я одну такую поделку, там вообще все id всех таблиц генерились одним сиквенсом.

Угу, знакомая практика. Обычно соседствует со списком "все объекты системы", "чтобы по id можно было найти, в какой таблице он лежит", "универсальная функциональность, завязанная на id" итп. На текущем месте работы для полноты картины айдишники одних и тех же справочных записей на деве, на тесте и на проде различаются. "Павбывав бы" (с)
5 авг 19, 12:57    [21942032]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
xtender
Member

Откуда: Мск
Сообщений: 5216
softwarer
Обычно соседствует со списком "все объекты системы"
о, да, вспомнил про еще одну фееричную вещь: там стоимость лицензии зависела от количества "всех объектов системы"
5 авг 19, 13:04    [21942040]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18183
В очередной раз поинтересуюсь о минусах такого решения...
Естественно, при массовых заливках, алгоритм оптимизируется, а для обычной работы кеш установлен по тыщу
Ну и не RAC

Чем плохо -- одна последовательность на [практически] все суррогатные ключи?
Хотелось бы исходя из опыта
5 авг 19, 13:12    [21942051]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 58498
Блог
Вячеслав Любомудров
Чем плохо -- одна последовательность на [практически] все суррогатные ключи?
Хотелось бы исходя из опыта

По поводу ключей обычных записей у меня нет особых претензий к такой практике. Единственно - она провоцирует неудачные, "слишком универсальные" архитектурные решения, которые приходится давить и не всегда успешно. Но вот использование этих ключей в константных справочниках, мягко говоря, бесит. Поскольку в миллионе мест приходится использовать подзапросы или выкручиваться другим образом... ну что-нибудь типа

and country_id = (select id from country where alpha2 = 'RU')
5 авг 19, 13:20    [21942059]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18183
Но, согласись, это уже немного другая задача
И если речь идет о попытке [более-менее] универсальной надстройки (как, собственно, в примере х.з. ), то такие завороты, к сожалению, легко создаются сами, если им специально не уделить особого внимания (== сделать и ЗАДОКУМЕНТИРОВАТЬ исключение)
А еще есть всякие "г.", "гор.", "ул.", "пр."... в подобных справочниках
5 авг 19, 13:41    [21942075]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
DВА
Member

Откуда:
Сообщений: 5410
xtender
х.з.,

Видел я одну такую поделку, там вообще все id всех таблиц генерились одним сиквенсом.якобы для того, чтобы при выгрузке в xml никогда нельзя было их перепутать


так это в этой же уважаемой конторе )))
и их все содержит вьюха ibs.OBJECTS


х.з.
В одной из таблиц одного из продуктов уважаемой мной(до сего момента) конторы обнаружилось интересное поле:
13 авг 19, 19:18    [21948516]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
CrazyCat
Member

Откуда:
Сообщений: 2953
DВА
так это в этой же уважаемой конторе )))
и их все содержит вьюха ibs.OBJECTS

зато эта контора умеет зарабатывать бабло ) и половина банков сидит на ее продуктах )
ну может не половина а чуть больше или меньше )
13 авг 19, 19:57    [21948541]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
xtender
Member

Откуда: Мск
Сообщений: 5216
Вячеслав Любомудров
В очередной раз поинтересуюсь о минусах такого решения...
Естественно, при массовых заливках, алгоритм оптимизируется, а для обычной работы кеш установлен по тыщу
Ну большой кэш не поможет, если кратковременные сессии/джобы плодятся тысячами и очень часто и все его дергают.

Кроме того, сиквенс растет дикими темпами и размерность ключа надо тогда либо сразу огромную делать, либо будет геморрой при расширениях с секционированием по таким ключам, и размеры индексов значительно вырастут.
И еще, не дай боже, будут диапазонные поиски по таким суррогатам - оптимизатор свихнется...
14 авг 19, 02:19    [21948751]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15449
Вячеслав Любомудров
Чем плохо -- одна последовательность на [практически] все суррогатные ключи?
Хотелось бы исходя из опыта


исходя из опыта плохо потому, что морда треснет - причем гарантировано - то есть если еще не треснула,
значит поделка из детсадовского масштаба не выросла
14 авг 19, 10:34    [21948885]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 58498
Блог
xtender
Кроме того, сиквенс растет дикими темпами и размерность ключа надо тогда либо сразу огромную делать

number - это недостаточно огромная?

orawish
исходя из опыта плохо потому, что морда треснет - причем гарантировано

Лёш, я не в восторге от подхода с единственным сиквенсом, но истины ради советую зуб не давать - проспоришь. Во всяком случае, представление о детских поделках придётся ну ооочень расширить :)
14 авг 19, 12:08    [21949027]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 83 84 85 86 87 88 89 90 [91] 92   вперед  Ctrl
Все форумы / Oracle Ответить