powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / На философию потянуло...
25 сообщений из 139, страница 4 из 6
На философию потянуло...
    #33981758
Фотография RA\/EN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
contr RA\/ENне говоря уж о включении через это хинт режима RULE.
Может, просто /*+ RULE */ попробовать? :)

Это не есть интересно. Я, в принципе, насчет RULE не настаиваю, т.к. разбор конкретно этого хинта, по идее, может быть уже после выбора Cost Model.
...
Рейтинг: 0 / 0
На философию потянуло...
    #34101024
m_kus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опять обсмеёте :)
Код: plaintext
1.
2.
create table t (id integer default seq.nextval%FOREACHROW,
...)
...
Рейтинг: 0 / 0
На философию потянуло...
    #34101107
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m_kusОпять обсмеёте :)
Код: plaintext
1.
2.
create table t (id integer default seq.nextval%FOREACHROW,
...)
имхо - реальнее не ссылка на последовательность, а
набор параметров как в create sequence с тем, чтобы втихаря она
создалась как зависимый от таблицы объект, мож. быть и не совсем как
последовательность, а гибрид последовательности и первичного ключа
...
Рейтинг: 0 / 0
На философию потянуло...
    #34101291
Фотография mcwhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousГоспода, у меня образовалось немного времени и со страшной силой потянуло на философию :)
И размышляю я на тему "а какого лешегшо мне не хватает в СУБД Oracle"?
Кто не против отвлеченной философии - присоединяйтесь :)

Хотелось бы, чтобы предложение RETURNING поддерживало работу с записями.
Т.е. чтобы можно было делать так:
Код: plaintext
1.
2.
3.
4.
-- v_row и v_row2 суть объекты типа my_table%rowtype
update my_table
set row = v_row;
returning * into v_row2;

Пока что вместо звёздочки в выделенной строке нужно перечислять все поля таблицы MY_TABLE. Если же оставить звёздочку, то код не компилируется.

Фишка в том, чтобы в коде можно было не указывать явно отдельные поля таблицы, обеспечив тем самым независимость кода от изменения структуры этой таблицы.
...
Рейтинг: 0 / 0
На философию потянуло...
    #34101320
Фотография dmidek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcwhite andrey_anonymousГоспода, у меня образовалось немного времени и со страшной силой потянуло на философию :)
И размышляю я на тему "а какого лешегшо мне не хватает в СУБД Oracle"?
Кто не против отвлеченной философии - присоединяйтесь :)

Хотелось бы, чтобы предложение RETURNING поддерживало работу с записями.
Т.е. чтобы можно было делать так:
Код: plaintext
1.
2.
3.
4.
-- v_row и v_row2 суть объекты типа my_table%rowtype
update my_table
set row = v_row;
returning * into v_row2;

Пока что вместо звёздочки в выделенной строке нужно перечислять все поля таблицы MY_TABLE. Если же оставить звёздочку, то код не компилируется.

Фишка в том, чтобы в коде можно было не указывать явно отдельные поля таблицы, обеспечив тем самым независимость кода от изменения структуры этой таблицы.
А разве требуемые Вам значения уже все равно не будут лежать в v_row ?
...
Рейтинг: 0 / 0
На философию потянуло...
    #34101340
Фотография mcwhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmidekА разве требуемые Вам значения уже все равно не будут лежать в v_row ?
Пример, конечно же, до предела тривиальный, потому как не в конкретном операторе дело.

Ещё раз: проблема в том, что нельзя избавиться от явного перечисления полей в предложении RETURNING при работе с записями.
...
Рейтинг: 0 / 0
На философию потянуло...
    #34101344
Sevick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barkovskyя давно говорю, что мне в оракле не хватает большой кнопки: "решить проблему".


Как это нет?
Просто доку невнимательно читали
Она по-умолчанию disabled :))
...
Рейтинг: 0 / 0
На философию потянуло...
    #34452328
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Захотелось:
Код: plaintext
1.
2.
3.
4.
5.
6.
with
    t as (select  1  a,  2  b,  3  c from dual),
    op as (var1*var2*var3)
select
    op(a, b, c)
from t;
чтобы op(a, b, c) преобразовался в a*b*c.
Многа хочу? фактически побороть копи-пейст, и юзать subquery factoring clause для expression factoring :)
да, функцию можно написать. но это - уже PL. а хочеца остаться в SQL'е.
...
Рейтинг: 0 / 0
На философию потянуло...
    #34452450
Фотография RA\/EN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimmЗахотелось:
Код: plaintext
1.
2.
3.
4.
5.
6.
with
    t as (select  1  a,  2  b,  3  c from dual),
    op as (var1*var2*var3)
select
    op(a, b, c)
from t;
чтобы op(a, b, c) преобразовался в a*b*c.
Многа хочу? фактически побороть копи-пейст, и юзать subquery factoring clause для expression factoring :)
да, функцию можно написать. но это - уже PL. а хочеца остаться в SQL'е.

А потом ищи по тексту ОРИГИНАЛЬНОГО запроса, где у тебя "ORA-01722: invalid number", например
Это не expression factoring, а тупо макроподстановка. А это зло (ты никогда из-за глючного #define в сях не устраивал ночную медитацию перед монитром?)
...
Рейтинг: 0 / 0
На философию потянуло...
    #34452517
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RA\/EN TimmЗахотелось:
Код: plaintext
1.
2.
3.
4.
5.
6.
with
    t as (select  1  a,  2  b,  3  c from dual),
    op as (var1*var2*var3)
select
    op(a, b, c)
from t;
чтобы op(a, b, c) преобразовался в a*b*c.
Многа хочу? фактически побороть копи-пейст, и юзать subquery factoring clause для expression factoring :)
да, функцию можно написать. но это - уже PL. а хочеца остаться в SQL'е.

А потом ищи по тексту ОРИГИНАЛЬНОГО запроса, где у тебя "ORA-01722: invalid number", например
Это не expression factoring, а тупо макроподстановка. А это зло (ты никогда из-за глючного #define в сях не устраивал ночную медитацию перед монитром?)
Ну, зло не большее, как любое лекарство.. если применять без_меры/не_к_месту..
...
Рейтинг: 0 / 0
На философию потянуло...
    #34452602
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже 10 лет хочется классической реализации доменов, как это есть в Oracle Rdb.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
CREATE DOMAIN quantity NUMBER( 7 ) check (quantity >  0 );

CREATE DOMAIN gender CHAR( 1 ) check (gender IN ('М', 'Ж'));

CREATE DOMAIN short_name VARCHAR2( 25 );

CREATE DOMAIN long_name VARCHAR2( 249 );

CREATE DOMAIN birth_date DATE CHECK (birth_date >= TO_DATE('01.01.1900', 'DD.MM.YYYY'));

CREATE DOMAIN id NUMBER( 10 );

CREATE TABLE emp(
   empno id
      CONSTRAINT emp#p PRIMARY KEY
 , ename short_name      NOT NULL
 , birth_date birth_date NOT NULL
 , gender                NOT NULL
 , deptno id             NOT NULL
 , child_cnt quantity
   );

CREATE TABLE dict(
   dict_id id
       CONSTRAINT dict#p PRIMARY KEY
 , name short_name NOT NULL
 , descr long_name
   );

...
ALTER DOMAIN short_name VARCHAR2( 32 );

ALTER DOMAIN quantity NUMBER( 10 );

ALTER DOMAIN id NUMBER( 12 );
...
...
Рейтинг: 0 / 0
На философию потянуло...
    #34452698
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*PlusУже 10 лет хочется классической реализации доменов, как это есть в Oracle Rdb.

+1
...
Рейтинг: 0 / 0
На философию потянуло...
    #34452713
Гость11111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще хотел бы MOVE (insert into A + delete from B)...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
На философию потянуло...
    #36526190
а еще очень надо insert all, но для коллекций объектов. с BULK COLLECT
...
Рейтинг: 0 / 0
На философию потянуло...
    #36800608
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous"а какого лешегшо мне не хватает в СУБД Oracle"?
Я считаю очень полезной была бы возможность создавать уникальнуй ключ по columns_expression а не просто по columns. Иными словами в Oracle есть отличная фишка FBI, хотелось бы иметь FBUK. :)

Чтоб можно было просто делать ограничения вроде: комбианация ФИО дложна быть уникальной независимо от регистра:
Код: plaintext
alter table t add constraint UK_FIO unique (lower(F), lower(I), lower(O));
...
Рейтинг: 0 / 0
На философию потянуло...
    #36800657
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopЧтоб можно было просто делать ограничения вроде: комбианация ФИО дложна быть уникальной независимо от регистра:
Мне, пожалуй, больше хотелось бы другого:

Код: plaintext
1.
2.
3.
4.
5.
create table document (document_id, document_type, ...);
create index on document (document_id, document_type);
alter table document add primary key (document_id);

create table contract (document_id, ...);
alter table contract add foreign key (document_id,  12 ) references document (document_id, document_type);
...
Рейтинг: 0 / 0
На философию потянуло...
    #36800664
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот мне бы хотелось окон по иерархии over(connect by & siblings).

dbms_photoshopЧтоб можно было просто делать ограничения вроде: комбианация ФИО дложна быть уникальной независимо от регистраА чем в данном случае FBUK отличается от FBI?
...
Рейтинг: 0 / 0
На философию потянуло...
    #36800710
Фотография RA\/EN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopandrey_anonymous"а какого лешегшо мне не хватает в СУБД Oracle"?
Я считаю очень полезной была бы возможность создавать уникальнуй ключ по columns_expression а не просто по columns. Иными словами в Oracle есть отличная фишка FBI, хотелось бы иметь FBUK. :)

Чтоб можно было просто делать ограничения вроде: комбианация ФИО дложна быть уникальной независимо от регистра:
Код: plaintext
alter table t add constraint UK_FIO unique (lower(F), lower(I), lower(O));

А ради чего? Внешние ключи на такой констрейнт как разруливать?
...
Рейтинг: 0 / 0
На философию потянуло...
    #36800733
Фотография RA\/EN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerdbms_photoshopЧтоб можно было просто делать ограничения вроде: комбианация ФИО дложна быть уникальной независимо от регистра:
Мне, пожалуй, больше хотелось бы другого:

Код: plaintext
1.
2.
3.
4.
5.
create table document (document_id, document_type, ...);
create index on document (document_id, document_type);
alter table document add primary key (document_id);

create table contract (document_id, ...);
alter table contract add foreign key (document_id,  12 ) references document (document_id, document_type);

FK на неуникальный индекс? о_О
...
Рейтинг: 0 / 0
На философию потянуло...
    #36800734
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,
Да, такое желание возникает и у меня!

-2-А вот мне бы хотелось окон по иерархии over(connect by & siblings).Можно подробнее что имеете в виду. Псевдокод приветствуется. :)
При некоторых допущениях аналитика накручивается .
Лично меня в этом плане все устраивает, разве что кроме огромного кол-ва багов.

-2-А чем в данном случае FBUK отличается от FBI?Уже хотелка отпала. ;)
...
Рейтинг: 0 / 0
На философию потянуло...
    #36800752
Фотография RA\/EN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-А вот мне бы хотелось окон по иерархии over(connect by & siblings).
Суммирование по дереву делать? Пример покажи.
-2-dbms_photoshopЧтоб можно было просто делать ограничения вроде: комбианация ФИО дложна быть уникальной независимо от регистраА чем в данном случае FBUK отличается от FBI?
... а потом оно будет deferred, и на нее будут ссылаться ...
...
Рейтинг: 0 / 0
На философию потянуло...
    #36800756
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RA\/ENFK на неуникальный индекс? о_О
Ну пропустил softwarer ключевое слово одно. Суть то ясна.
...
Рейтинг: 0 / 0
На философию потянуло...
    #36800779
Фотография RA\/EN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RA\/ENFK на неуникальный индекс? о_О
Да, кстати:
alter table add constraint check(document_id-trunc(document_id)=document_type)
...
alter table add constraint check(document_id-trunc(document_id)=0.012)

Было дело, не совсем такое, конечно, когда дробными айдишниками проблемы решал.
...
Рейтинг: 0 / 0
На философию потянуло...
    #36800874
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopandrey_anonymous"а какого лешегшо мне не хватает в СУБД Oracle"?
Я считаю очень полезной была бы возможность создавать уникальнуй ключ по columns_expression а не просто по columns. Иными словами в Oracle есть отличная фишка FBI, хотелось бы иметь FBUK. :)

Чтоб можно было просто делать ограничения вроде: комбианация ФИО дложна быть уникальной независимо от регистра:
Код: plaintext
alter table t add constraint UK_FIO unique (lower(F), lower(I), lower(O));

дык 11g вычисляемые поля для этого совершенно подходят
...
Рейтинг: 0 / 0
На философию потянуло...
    #36801048
Фотография RA\/EN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawishдык 11g вычисляемые поля для этого совершенно подходят
/me бьется головой о стол
...
Рейтинг: 0 / 0
25 сообщений из 139, страница 4 из 6
Форумы / Oracle [игнор отключен] [закрыт для гостей] / На философию потянуло...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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