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

Откуда:
Сообщений: 28
Добрый день
скажите пожалуйста, почему может возникать такая ошибка при выполнении следующего кода:
select o.sch_op
      from OP_SCH o
           join syn$OP_SCH o2
                on o.op_sch_id=o2.op_sch_id
      where o2.sch_op<>o.sch_op

и выходит ошибка:
Несовместимые типы данных: ожидается - получено U.TSCHED

уважаемые знатоки, подскажите пожалуйста, почему так может быть...?
20 сен 17, 10:12    [20808017]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
Elic
Member

Откуда:
Сообщений: 29980
RTFM
20 сен 17, 10:27    [20808084]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
о нееееет
Guest
встречайте!!! РМАГИСТР вернулся

он не даст умереть форуму!
20 сен 17, 10:31    [20808103]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 2170
о нееееет
РМАГИСТР вернулся
простите, но как Вы узнали?
20 сен 17, 10:36    [20808132]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2788
igor_alex,

desc OP_SCH
desc syn$OP_SCH


.....
stax
20 сен 17, 10:45    [20808169]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
igor_alex
Member

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

о чем вы, сударь
20 сен 17, 10:54    [20808202]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
igor_alex
Member

Откуда:
Сообщений: 28
Stax
igor_alex,

desc OP_SCH
desc syn$OP_SCH
.....
stax

Простите пожалуйста, не могу понять из вашего ответа, что именно необходимо сделать?
20 сен 17, 10:58    [20808216]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 2170
igor_alex
что именно необходимо сделать?
1. запустить SQLPLUS
2. скопировать в буфер обмена строчки:
desc OP_SCH
desc syn$OP_SCH
3. вставить из буфера обмена скопированные строчки в запущенный SQLPLUS
4. посмотреть, что получится
5. скопировать то, что получится в буфер обмена
6. вставить из буфера обмена то, что получилось, сюда в форум
7. спросить, что это значит, и что делать дальше
8. ждать ответа
20 сен 17, 11:09    [20808260]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 2170
О, НЕЕЕТ!
Я же забыл сказать ему ПОДКЛЮЧИТЬСЯ К СЕРВЕРУ!
20 сен 17, 11:15    [20808285]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
igor_alex
Member

Откуда:
Сообщений: 28
--Eugene--,

а в sqldeveloper не подойдет?

К сообщению приложен файл. Размер - 27Kb
20 сен 17, 11:35    [20808381]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1639
desc OP_SCH
desc syn$OP_SCH


можно запустить и в SQL Developer
20 сен 17, 11:37    [20808398]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
igor_alex
Member

Откуда:
Сообщений: 28
dmdmdm,

на сколько я понял, desc это сортировка
почему она написана к таблице и синониму?
20 сен 17, 11:45    [20808439]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
K790
Member

Откуда:
Сообщений: 633
многострадальная SCHEDULED_OPERATIONS
20 сен 17, 11:46    [20808443]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
RМагистр2015,

igor_alex
почему так может быть...?


as object же...

Загляни уже в доку, в которую я тебя постоянно тыкаю. Почитай про объекты, осознай, что для них такое операция сравнения. Если не осиливаешь - смени место, ну не твоё это.
20 сен 17, 11:54    [20808461]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
igor_alex
Member

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

прошу прощения, о чем это вы, уважаемые знатоки...?
20 сен 17, 11:56    [20808467]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2788
igor_alex
dmdmdm,

на сколько я понял, desc это сортировка
почему она написана к таблице и синониму?

нет
ето команнда SQL*Plus-a
http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12019.htm
DESCRIBE
Syntax

DESC[RIBE] {[schema.]object[@db_link]}

Lists the column definitions for the specified table, view or synonym, or the specifications for the specified function or procedure.

также можно глянуть set describe

c большой вероятностью можно стазать что у Вас разные типы o2.sch_op и o.sch_op
сравните их описание (структуру)

.....
stax
20 сен 17, 11:58    [20808470]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
Elic
Member

Откуда:
Сообщений: 29980
igor_alex
CREATE OR REPLACE Type TScheduledOperation#VArray is VArray(256) Of TScheduledOperation
RTFM There is no mechanism for comparing varrays (FAQ)
20 сен 17, 11:58    [20808472]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
RМагистр2015,

Примитивный пример:
Пройдись по офису/дому, сравни на равенство два экземпляра объекта типа стул, желательно инициализированные одной фабрикой от общего прототипа. Потом распиши, как ты их сравнивал, и почему решил, равны они или нет.
20 сен 17, 11:59    [20808477]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
Elic
Member

Откуда:
Сообщений: 29980
env
as object же...
Не поэтому.
20 сен 17, 12:00    [20808483]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
env
Member

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

Ах да, у него же Varray объектов
20 сен 17, 12:02    [20808487]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
igor_alex
Member

Откуда:
Сообщений: 28
Stax,

типы одинаковые, oid одинаковый везде
доку я эту читал, ответ там не нашел, там в основном сравниывается с вложенной таблицей, а тут две просто таблицы, и сравнивается по полю с пользовательским типом
20 сен 17, 14:40    [20809140]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
Elic
Member

Откуда:
Сообщений: 29980
igor_alex
ответ там не нашел
Когда хочется увидеть в книге фигу, то увидишь.
20 сен 17, 14:49    [20809166]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
Бракованный финский угорь
Member

Откуда:
Сообщений: 83
igor_alex
типы одинаковые, oid одинаковый везде
доку я эту читал, ответ там не нашел, там в основном сравниывается с вложенной таблицей, а тут две просто таблицы, и сравнивается по полю с пользовательским типом


Нет, ну вылитый магистр! Хорош, чертяка.
20 сен 17, 14:53    [20809183]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2788
igor_alex
Stax,

типы одинаковые, oid одинаковый везде
доку я эту читал, ответ там не нашел, там в основном сравниывается с вложенной таблицей, а тут две просто таблицы, и сравнивается по полю с пользовательским типом

igor_alex,

оракля может сравнивать токо простейшее
он не знает 1,2,3 равно ли 1,3,2

напр
  1  with t1 as
  2  (select 1 id,sys.odcinumberlist(1,2,3) o from dual)
  3  ,t2 as
  4  (select 1 id,sys.odcinumberlist(1,3,2) o from dual)
  5* select * from t1 t1,t1 t2 where t1.o=t2.o
SQL> /
select * from t1 t1,t1 t2 where t1.o=t2.o
                                *
ERROR at line 5:
ORA-00932: inconsistent datatypes: expected - got
SYS.ODCINUMBERLIST


ему нужно сказать как сравнивть (MAP/ORDER)

....
stax
20 сен 17, 15:46    [20809391]     Ответить | Цитировать Сообщить модератору
 Re: сравнение полей с пользовательскими типами  [new]
env
Member

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

поздравляю, ты второй кто наступил на грабли с советом про методы сравнения объектов
Elic
env
as object же...
Не поэтому.


У него varray. Оно в принципе несравнимо. Только по собственно придумываемой логике.
20 сен 17, 15:51    [20809403]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Oracle Ответить