Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5   вперед  Ctrl      все
 Re: глюк Pl-sql developer'а  [new]
Elic
Member

Откуда:
Сообщений: 29980
verter
у pl-sql developer всё таки есть глюк.
Просто ты дитя гуя.
6 ноя 20, 01:47    [22227299]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
Allbest
Member

Откуда:
Сообщений: 143
Elic
verter
у pl-sql developer всё таки есть глюк.
Просто ты дитя гуя.


22210175
6 ноя 20, 01:55    [22227301]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18351
Elic
andrey_anonymous
Уж от кого-кого, но от тебя как-то не ждал...
Я от тебя тоже: ты утверждаешь, что уникальных индексов не бывает?

Я утверждаю, что в твоем тезисе относительно технической реализации PK термин "уникальный" - лишний, и должен быть заменен термином "B-Tree".
6 ноя 20, 04:06    [22227306]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18351
verter
у pl-sql developer всё таки есть глюк.
теперь я попытался сначала удалить индекс на уникальный ключ с помощью GUI - ошибка, не могу говорит удалить индекс такой, так а как тогда? ключ удаляю сначала ошибка, индекс - тоже.

В окошке редактирования таблицы справа внизу кнопочка смешная есть - "Показать SQL" называется.
Нажмите ее перед применением изменений и получите ответы на свои вопросы.
6 ноя 20, 04:16    [22227307]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
НеофитSQL
Member [заблокирован]

Откуда: Маями
Сообщений: 760
andrey_anonymous

В окошке редактирования таблицы справа внизу кнопочка смешная есть - "Показать SQL" называется.
Нажмите ее перед применением изменений и получите ответы на свои вопросы.


У меня недавно была ситуация, где эта кнопочка в pl/sql developer показала ложный DDL (плохой синтакс).
6 ноя 20, 07:34    [22227323]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
НеофитSQL
показала ложный DDL

Про ложные опята слышал, а ложный DDL - это как? Вместо create table возвращает drop database?

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

з.ы. разумеется тулзы порой косячат, но чаще косячат их пользователи
6 ноя 20, 09:19    [22227350]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
verter
Member

Откуда: Санкт-Петербург
Сообщений: 1018
andrey_anonymous
verter
у pl-sql developer всё таки есть глюк.
теперь я попытался сначала удалить индекс на уникальный ключ с помощью GUI - ошибка, не могу говорит удалить индекс такой, так а как тогда? ключ удаляю сначала ошибка, индекс - тоже.

В окошке редактирования таблицы справа внизу кнопочка смешная есть - "Показать SQL" называется.
Нажмите ее перед применением изменений и получите ответы на свои вопросы.


Ну как бы я знаю как получить скрипт в pl-sql developer’е :)

Дело то не в этом, просто заметил глюк гуи и сразу не разобрался, написал сюда, сейчас уже всё абсолютно ясно.
6 ноя 20, 13:05    [22227474]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1639
Ложные опята для неофитов.

Как и в тексте можно что-то недописать, так и в гуях.

К сообщению приложен файл. Размер - 8Kb
6 ноя 20, 13:16    [22227481]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18351
НеофитSQL
PK можно заменить на уникальный индекс плюс not nullable constraint.

ЧЯДНТ?
create table dropme_t(pk integer primary key, uniq_idx integer not null);
Table created

create unique index dropme_t$uniq_idx on dropme_t(uniq_idx);
Index created

create table dropme_ch1_t(fk integer references dropme_t(pk));
Table created

create table dropme_ch2_t(fk_uniq integer references dropme_t(uniq_idx));
 
create table dropme_ch2_t(fk_uniq integer references dropme_t(uniq_idx))
 
ORA-02270: no matching unique or primary key for this column-list
---WTF?! Юниор же сказал - можно!
6 ноя 20, 13:51    [22227509]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Это все-таки скорее не к Неофиту, а к тому кренделю, который считает, что индекса достаточно, а ограничение (констрейнт по буржуински) поднимать не обязательно
6 ноя 20, 14:23    [22227530]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
НеофитSQL
Member [заблокирован]

Откуда: Маями
Сообщений: 760
env
НеофитSQL
показала ложный DDL

Про ложные опята слышал, а ложный DDL - это как? Вместо create table возвращает drop database?

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

з.ы. разумеется тулзы порой косячат, но чаще косячат их пользователи


В этом случае накосячил тул - показал sql который не парсится ораклом.

22204472
6 ноя 20, 14:41    [22227543]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1639
НеофитSQL


В этом случае накосячил тул



Как только напишете тул, который учитывает все варианты, которые может ввести прокладка между монитором и стулом - приходите, поговорим про косяки.
6 ноя 20, 14:54    [22227554]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
НеофитSQL
В этом случае накосячил тул

А версия тула достаточно свежая, чтобы адекватно понимать виртуальные колонки?
6 ноя 20, 15:06    [22227558]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
НеофитSQL
Member [заблокирован]

Откуда: Маями
Сообщений: 760
env
НеофитSQL
В этом случае накосячил тул

А версия тула достаточно свежая, чтобы адекватно понимать виртуальные колонки?


Полагаю что да, т.к. виртуальные колонки были в нем созданы.
6 ноя 20, 15:14    [22227561]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
НеофитSQL
Member [заблокирован]

Откуда: Маями
Сообщений: 760
dmdmdm
НеофитSQL


В этом случае накосячил тул



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


Легко: echo.exe

Не уверен, что вы хотели сказать.
6 ноя 20, 15:18    [22227563]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
НеофитSQL,

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

Попробовал на версии 13.0.6 - проблем с генерацией не наблюдается.
6 ноя 20, 15:25    [22227567]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9249
НеофитSQL

Легко: echo.exe

А где такой можно скачать?
6 ноя 20, 15:25    [22227568]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
НеофитSQL
Легко: echo.exe


> echo.exe "


> 


И где моя кавычка?
6 ноя 20, 15:27    [22227570]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
Leonid Kudryavtsev
Member

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

Microsoft Windows [Version 10.0.16299.2166]
(c) Корпорация Майкрософт (Microsoft Corporation), 2017. Все права защищены.

C:\Users\kudryavtsev_le\IdeaProjects\Excel\lib>echo.exe aaaa
exe aaaa

C:\Users\kudryavtsev_le\IdeaProjects\Excel\lib>echo.exe "
exe "

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

Сообщение было отредактировано: 6 ноя 20, 15:26
6 ноя 20, 15:30    [22227571]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
env
Member

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

Так у вас небось встроенный виндовый


> echo.exe --version
echo (GNU coreutils) 8.26
Packaged by Cygwin (8.26-2)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.

С виндовым можно ещё повозмущаться на конструкции вида

> echo <<11111

> echo >>a:\\log.log

Эха не происходит

Сообщение было отредактировано: 6 ноя 20, 15:32
6 ноя 20, 15:36    [22227573]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
НеофитSQL
Member [заблокирован]

Откуда: Маями
Сообщений: 760
andrey_anonymous
НеофитSQL
PK можно заменить на уникальный индекс плюс not nullable constraint.

ЧЯДНТ?
create table dropme_t(pk integer primary key, uniq_idx integer not null);
Table created

create unique index dropme_t$uniq_idx on dropme_t(uniq_idx);
Index created

create table dropme_ch1_t(fk integer references dropme_t(pk));
Table created

create table dropme_ch2_t(fk_uniq integer references dropme_t(uniq_idx));
 
create table dropme_ch2_t(fk_uniq integer references dropme_t(uniq_idx))
 
ORA-02270: no matching unique or primary key for this column-list
---WTF?! Юниор же сказал - можно!


Юниор учится :)

Я вижу из этого примера, что unique index (+ non-nullable) может заменить constraints PK/UK внутри таблицы, но не способен заменить constraints между таблицами.

Теперь я могу ответить на свой вопрос более полно:
> Кроме автоматического создания уникального индекса, объявление первичного ключа ещё как-то влияет на таблицу,
> или это чисто декоративный ярлык для помечания "главной" колонки?

1) объявление первичного ключа не обязательно создает уникальный индекс. В зависимости от опций, он может создать неуникальный индекс, а также может использовать уже существующий индекс.
2) вне зависимости от типа индекса, первичный ключ использует его для обеспечения уникальности значений в колонке/колонках ключа, также запретит null
3) отличия первичного ключа и уникального ключа: первичный ключ не позволяет nulls, уникальный разрешает пустышки (если колонку/колонки ключа объявить not nullable, это различие пропадает). Второе - индексы для поддержки первичного ключа обычно создаются кластерного типа. Что такое кластерный тип индекса, я еще не читал. Наверное, что-то связанное со скоростью.

Выводы:
- если на таблицу нет ссылок, первичный/уникальные ключи можно заменить на индексы
- если на таблицу есть ссылки, ключи необходимы для обеспечения ссылок
- первичный ключ можно заменить уникальным, но это может снизить скорость.
6 ноя 20, 15:53    [22227581]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
НеофитSQL
Member [заблокирован]

Откуда: Маями
Сообщений: 760
Leonid Kudryavtsev
НеофитSQL

Легко: echo.exe

А где такой можно скачать?


Давайте я вам лучше исходник дам, скачивать ехешники стремно (для меня, по крайней мере).
6 ноя 20, 15:56    [22227585]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
НеофитSQL
индексы для поддержки первичного ключа обычно создаются кластерного типа


Ссылку на доку дайте, где это написано. В sql reference про это ни слова, может упустил чего?
6 ноя 20, 15:58    [22227586]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
НеофитSQL
Member [заблокирован]

Откуда: Маями
Сообщений: 760
env
НеофитSQL,

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

Попробовал на версии 13.0.6 - проблем с генерацией не наблюдается.


В теме которую я привел, ситуация была следующая:

- создал таблицу в GUI, нажал Apply - все создалось
- Нажал "Show SQL" - показало DDL, правдоподобный но непригодный для Оракла
- посмотрел через dbms_ddl - показало правильный DDL.

Похоже на ошибку тулза, который не может из Оракла вытащить и показать правильный DDL, а берет его непонятно откуда.

Ошибкой в целом является поведение первых двух шагов. Третий шаг намекает что Оракл 11.2 скорее всего не виноват.
6 ноя 20, 16:01    [22227589]     Ответить | Цитировать Сообщить модератору
 Re: глюк Pl-sql developer'а  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
НеофитSQL,

Поэтому и спрашиваю про версию. Полноценная поддержка новых фич СУБД в таких тулзах не всегда успевает за их появлением.
В относительно свежей версии pl/sql developer повторить кейс не получилось, рекомендую обновиться. (он же у вас честно купленный, правда?)
6 ноя 20, 16:06    [22227593]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5   вперед  Ctrl      все
Все форумы / Oracle Ответить